Score:0

วิธีกำหนดค่าสองแอปพลิเคชันบน apache2

ธง ng

สิ่งที่ฉันต้องการบรรลุคือการได้รับลิงก์สองลิงก์ที่แยกจากกันซึ่งเชื่อมโยงไปยังสองแอปพลิเคชันที่แตกต่างกัน

http://hostname.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>
    ตัวเลือก FollowSymLinks
    DirectoryIndex index.php
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            แอปพลิเคชัน AddType/x-httpd-php .php
        </หากโมดูล>
        <FilesMatch ".+\.php$">
            โปรแกรม SetHandler/x-httpd-php.ini
        </FilesMatch>
    </หากโมดูล>
</ไดเร็กทอรี>
<ไดเรกทอรี /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType พื้นฐาน
        </หากโมดูล>
        ต้องการผู้ใช้ที่ถูกต้อง
    </หากโมดูล>
</ไดเร็กทอรี>
<ไดเรกทอรี /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 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
</หากโมดูล>

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

ปิดใช้งาน SetEnv EXECJS_RUNTIME
<โฮสต์เสมือน *:8080>
   ชื่อเซิร์ฟเวอร์ IP_ADDR_HERE
   DocumentRoot /home/openproject/openproject/public
   <ไดเรกทอรี /home/openproject/openproject/public>
      AllowOverride ทั้งหมด
      ตัวเลือก -MultiViews
      ต้องได้รับอนุญาตทั้งหมด
   </ไดเร็กทอรี>
   <สถานที่ /ทรัพย์สิน/>
     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/ ลองใหม่=0
    ProxyPassReverse /openproject/ http://127.0.0.1:6002/openproject/
   <ไดเรกทอรี /home/openproject/openproject/public>
      AllowOverride ทั้งหมด
      ตัวเลือก -MultiViews
      ต้องได้รับอนุญาตทั้งหมด
   </ไดเร็กทอรี>
   <สถานที่ /ทรัพย์สิน/>
     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>
      AllowOverride ทั้งหมด
      ตัวเลือก -MultiViews
      ต้องได้รับอนุญาตทั้งหมด
   </ไดเร็กทอรี>
   <สถานที่ /ทรัพย์สิน/>
     ExpiresActive On ExpiresDefault "การเข้าถึงบวก 1 ปี"
   </สถานที่>
</เวอร์ชวลโฮสต์>

ลองอีกครั้ง:

ปิดใช้งาน SetEnv EXECJS_RUNTIME
<โฮสต์เสมือน *:80>
   ชื่อเซิร์ฟเวอร์ IP_ADDR_HERE/openproject/
   DocumentRoot /home/openproject/openproject/public

   <ไดเรกทอรี /home/openproject/openproject/public>
      AllowOverride ทั้งหมด
      ตัวเลือก -MultiViews
      ต้องได้รับอนุญาตทั้งหมด
   </ไดเร็กทอรี>
   <สถานที่ /ทรัพย์สิน/>
     ExpiresActive On ExpiresDefault "การเข้าถึงบวก 1 ปี"
   </สถานที่>
</เวอร์ชวลโฮสต์>

และไม่มีอะไรทำงาน ฉันได้รับข้อผิดพลาด 301 หรือ 403 หรือ 404 โปรดช่วยฉันด้วยการตั้งค่าของฉัน

แอปพลิเคชัน PS ภายในทำงานบนพอร์ต 6002

digijay avatar
mx flag
การกำหนดค่าของคุณไม่มี `ชื่อเซิร์ฟเวอร์ HOSTNAME_HERE.com` ดังนั้นคุณจึงไม่สามารถเรียกเว็บเซิร์ฟเวอร์ด้วยชื่อโดเมนของคุณได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา