Ceea ce aș dori să obțin este să obțin două link-uri separate care să facă legătura cu două aplicații diferite.
http://hostname.com <--- wordpress
http://hostname.com/openproject/ <--- openproject sau eventual http://openproject.hostname.com/ dar asta cred că ar necesita acțiuni asupra furnizorului meu de VPS.
Prima aplicație ar fi blogul wordpress cu configurații precum:
/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
Alias /wordpress /var/www/HOSTNAME_HERE/wordpress
<Director /var/www/HOSTNAME_HERE/wordpress>
Opțiuni FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php.c>
<IfModule mod_mime.c>
Aplicația AddType/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
Aplicația SetHandler/x-httpd-php
</FilesMatch>
</IfModule>
</Director>
<Director /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
</IfModule>
Necesită utilizator valid
</IfModule>
</Director>
<Director /usr/share/phpmyadmin/libraries>
Solicitați refuzul tuturor
</Director>
<Director /usr/share/phpmyadmin/setup/lib>
Solicitați refuzul tuturor
</Director>
disponibil cu SSL prin
/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>
A doua aplicație ar fi configurată openproject prin:
etc/apache2/mods-enabled/passenger.load
LoadModule passenger_module /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
</IfModule>
/etc/apache2/sites-enabled/openproject.conf
SetEnv EXECJS_RUNTIME dezactivat
<VirtualHost *:8080>
ServerName IP_ADDR_HERE
DocumentRoot /home/openproject/openproject/public
<Director /home/openproject/openproject/public>
AllowOverride all
Opțiuni -MultiViews
Solicitați toate acordate
</Director>
<Locație /active/>
ExpirăActiv la expirăDefault „acces plus 1 an”
</Locație>
</VirtualHost>
Aplicația este disponibilă fără SSL pe http://HOSTNAME_HERE.com:8080 și orice configurație pe care am încercat-o ar funcționa pentru a găzdui această aplicație pe http://HOSTNAME_HERE.com/openproject/
configurația pe care am încercat-o /etc/apache2/sites-enabled/openproject.conf
SetEnv EXECJS_RUNTIME dezactivat
<VirtualHost *:80>
ServerName 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/
<Director /home/openproject/openproject/public>
AllowOverride all
Opțiuni -MultiViews
Solicitați toate acordate
</Director>
<Locație /active/>
ExpirăActiv la expirăDefault „acces plus 1 an”
</Locație>
</VirtualHost>
Inca o incercare:
SetEnv EXECJS_RUNTIME dezactivat
<VirtualHost *:80>
ServerName IP_ADDR_HERE
DocumentRoot /home/openproject/openproject/public
Alias /openproject/ /home/openproject/openproject/public
<Director /home/openproject/openproject/public>
AllowOverride all
Opțiuni -MultiViews
Solicitați toate acordate
</Director>
<Locație /active/>
ExpirăActiv la expirăDefault „acces plus 1 an”
</Locație>
</VirtualHost>
Inca o incercare:
SetEnv EXECJS_RUNTIME dezactivat
<VirtualHost *:80>
ServerName IP_ADDR_HERE/openproject/
DocumentRoot /home/openproject/openproject/public
<Director /home/openproject/openproject/public>
AllowOverride all
Opțiuni -MultiViews
Solicitați toate acordate
</Director>
<Locație /active/>
ExpirăActiv la expirăDefault „acces plus 1 an”
</Locație>
</VirtualHost>
și nimic nu funcționa. Am primit erori 301 sau 403 sau 404. Vă rog să mă ajutați cu configurarea mea.
Aplicația PS rulează intern pe portul 6002