6/04/2016

VirtualHost Port 80 และ Port 443 Multiple Web

วิธีทำ VirtualHost Port 80 และ Port 443 ให้มีได้หลาย ๆ Web
และ Redirect จาก Http ไป Https
การ Redirect  [url]http://stackoverflow.com/questions/4083221/how-to-redirect-all-http-requests-to-https[/url]

การสร้างไฟล์ Certificate [url]https://intranet.sci.com/blog.php?u=3&b=970[/url]  หรือจะใช้ไฟล์เดียวกันก็ได้ เก็บไว้ใน /etc/apache2/ssl

ทำได้โดย
1. Backup file เก่าไว้ก่อนเสมอ โดยใช้งคำสั่ง
[code=text]cp /etc/apache2/sites-available/default  /etc/apache2/sites-available/default-20150228[/code]

2. แก้ไฟล์ default หรือ 000-default เช่นของจริงใน intranet
[code=text]nano /etc/apache2/sites-available/default[/code]

3. เช่น Code ของ Extranet
[code=text]
####Configuration for Extranet #####

<VirtualHost *:80>
        ServerName extranet.scivalve.com
        Redirect / https://extranet.scivalve.com/
        ServerAdmin nikom@scivalve.com
</VirtualHost>

<VirtualHost *:443>
ServerName extranet.scivalve.com
DocumentRoot /www/extranet
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/owncloud.pem
SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key
        ServerAdmin nikom@scivalve.com
        <Directory /www/extranet/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>


<VirtualHost *:80>
        ServerName extranet.sci.com
        Redirect / https://extranet.sci.com/
        ServerAdmin nikom@scivalve.com
</VirtualHost>

<VirtualHost *:443>
ServerName extranet.sci.com
DocumentRoot /www/extranet
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/owncloud.pem
SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key
        ServerAdmin nikom@scivalve.com
        <Directory /www/extranet/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

 [/code]

4. /etc/init.d/apache2 restart

ถ้ามี Error ตอน Restart apche
 * Restarting web server apache2                                  
 [Sun Jun 17 17:57:49 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
 ... waiting [Sun Jun 17 17:57:50 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
4.1. ให้แก้ /etc/apache2/ports.conf  โดยเพิ่ม  NameVirtualHost *:443  ตามตัวอย่าง
[code=text]
<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    NameVirtualHost *:443
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    NameVirtualHost *:443
    Listen 443
</IfModule>
 [/code]

แล้ว Restart apache2  อีกรอบ

[url]http://stackoverflow.com/questions/10658017/apache-error-default-virtualhost-overlap-on-port-443[/url]

ถ้ามี Error
 * Restarting web server apache2                                                                                                                                                
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Sat Feb 28 09:00:20 2015] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
4.2. ให้แก้ไฟล์ nano /etc/apache2/apache2.conf  โดยเพิ่ม
ServerName localhost
ไว้ล่างสุดของไฟล์ แล้ว Restart apache2  อีกรอบ

[url]http://askubuntu.com/questions/256013/could-not-reliably-determine-the-servers-fully-qualified-domain-name[/url]

ตัวอย่างไฟล์
เก่า :  [attachment=0]default-20140228.txt[/attachment]
ใหม่ : [attachment=1]default.txt[/attachment]

*ลดนามสกุล .txt ออกนำเอาไฟล์ไปใช้จริงได้เลย

No comments:

Post a Comment