Рейтинг:0

Как настроить два приложения на apache2

флаг ng

Чего я хотел бы добиться, так это получить две отдельные ссылки, связанные с двумя разными приложениями.

http://имя хоста.com <--- вордпресс

http://hostname.com/openproject/ <--- openproject или в конечном итоге http://openproject.hostname.com/ но для этого, я думаю, потребуются действия с моим провайдером VPS.

Первым приложением будет блог WordPress с такой конфигурацией:

/etc/apache2/sites-enabled/wordpress.conf

<VirtualHost *:80>
        ServerAdmin admin@HOSTNAME_HERE.com
        DocumentRoot /var/www/HOSTNAME_HERE/wordpress/
        Redirect / https://HOSTNAME_HERE.com/
        <Directory /var/www/HOSTNAME_HERE/wordpress/>
                Options +FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

/etc/apache2/conf-enabled/wordpress.conf

Псевдоним /wordpress /var/www/HOSTNAME_HERE/wordpress
<Каталог /var/www/HOSTNAME_HERE/wordpress>
    Параметры
    DirectoryIndex index.php
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            Приложение AddType/x-httpd-php .php
        </ЕслиМодуль>
        <FilesMatch ".+\.php$">
            Приложение SetHandler/x-httpd-php
        </FilesMatch>
    </ЕслиМодуль>
</Каталог>
<Каталог /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            Основной тип авторизации
        </ЕслиМодуль>
        Требовать действительного пользователя
    </ЕслиМодуль>
</Каталог>
<Каталог /usr/share/phpmyadmin/libraries>
    Требовать все отказано
</Каталог>
<Каталог /usr/share/phpmyadmin/setup/lib>
    Требовать все отказано
</Каталог>

доступен с SSL через

/etc/apache2/sites-enabled/default-ssl.conf

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin admin@HOSTNAME_HERE.com
                ServerName ip.address.of.hostname
                DocumentRoot /var/www/HOSTNAME_HERE/wordpress/
                <Directory /var/www/HOSTNAME_HERE/wordpress/>
                     Options +FollowSymLinks
                     AllowOverride All
                     Order allow,deny
                     allow from all
                </Directory>
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLProtocol         all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
                SSLCipherSuite      ECDHE-ECDSA-AES256-GCM-SHA384...
                SSLHonorCipherOrder on
                SSLCompression      off
                SSLSessionTickets   off
                SSLCertificateFile      /etc/apache2/ssl/certificate.crt
                SSLCertificateKeyFile /etc/apache2/ssl/pkey.key
                SSLCertificateChainFile /etc/apache2/ssl/chain-ca.crt
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>

Второе приложение будет настроено openproject через:

etc/apache2/mods-enabled/passenger.load

LoadModule пассажирский_модуль /home/openproject/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/passenger-6.0.10/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /home/openproject/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/passenger-6.0.10
  PassengerDefaultRuby /home/openproject/.rbenv/versions/2.7.3/bin/ruby
</ЕслиМодуль>

/etc/apache2/sites-enabled/openproject.conf

SetEnv EXECJS_RUNTIME отключен
<Виртуальный хост *:8080>
   Имя сервера IP_ADDR_HERE
   DocumentRoot /home/openproject/openproject/public
   <Каталог /home/openproject/openproject/public>
      РазрешитьПереопределить все
      Параметры - Мультивиды
      Требовать все предоставленные
   </Каталог>
   <Местоположение /активы/>
     ExpiresActive On ExpiresDefault «доступ плюс 1 год»
   </местоположение>
</ виртуальный хост>

Приложение доступно без SSL на http://HOSTNAME_HERE.com:8080, и любая конфигурация, которую я пробовал, подойдет для размещения этого приложения на http://HOSTNAME_HERE.com/openproject/

конфигурация, которую я пробовал /etc/apache2/sites-enabled/openproject.conf

SetEnv EXECJS_RUNTIME отключен
<Виртуальный хост *:80>
    Имя сервера IP_ADDR_HERE
    DocumentRoot /home/openproject/openproject/public
    ProxyPass /openproject/ http://127.0.0.1:6002/openproject/ retry=0
    ProxyPassReverse /openproject/ http://127.0.0.1:6002/openproject/
   <Каталог /home/openproject/openproject/public>
      РазрешитьПереопределить все
      Параметры - Мультивиды
      Требовать все предоставленные
   </Каталог>
   <Местоположение /активы/>
     ExpiresActive On ExpiresDefault «доступ плюс 1 год»
   </местоположение>
</ виртуальный хост>

Еще одна попытка:

SetEnv EXECJS_RUNTIME отключен
<Виртуальный хост *:80>
   Имя сервера IP_ADDR_HERE
   DocumentRoot /home/openproject/openproject/public
   Псевдоним /openproject/ /home/openproject/openproject/public
   <Каталог /home/openproject/openproject/public>
      РазрешитьПереопределить все
      Параметры - Мультивиды
      Требовать все предоставленные
   </Каталог>
   <Местоположение /активы/>
     ExpiresActive On ExpiresDefault «доступ плюс 1 год»
   </местоположение>
</ виртуальный хост>

Еще одна попытка:

SetEnv EXECJS_RUNTIME отключен
<Виртуальный хост *:80>
   Имя сервера IP_ADDR_HERE/openproject/
   DocumentRoot /home/openproject/openproject/public

   <Каталог /home/openproject/openproject/public>
      РазрешитьПереопределить все
      Параметры - Мультивиды
      Требовать все предоставленные
   </Каталог>
   <Местоположение /активы/>
     ExpiresActive On ExpiresDefault «доступ плюс 1 год»
   </местоположение>
</ виртуальный хост>

и ничего не работало. Я получил либо 301, либо 403, либо 404 ошибки. Пожалуйста, помогите мне с моей настройкой.

Приложение PS внутренне работает на порту 6002

digijay avatar
флаг mx
В вашей конфигурации отсутствует `ServerName HOSTNAME_HERE.com`, поэтому вы не сможете вызывать свой веб-сервер по имени своего домена.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.