4 -portBase
-----
Port-Based Virtualhost - webpage
mydomain.com:80 --- opens var/www1 mydomain.com:81 --- opens var/ww2 mydomain.com:82 --- opens var/www3
> netstat -tulpn | less tcp 0 0 :::80 :::* LISTEN 6840/httpd tcp 0 0 :::81 :::* LISTEN 6840/httpd tcp 0 0 :::82 :::* LISTEN 6840/httpd
[root@server ~]# vi /etc/httpd/conf/httpd.conf
Listen 80 Listen 81 Listen 82 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www1 ServerName www.example1.com </VirtualHost> NameVirtualHost *:81 <VirtualHost *:81> DocumentRoot /var/www2 ServerName www.example2.org </VirtualHost> NameVirtualHost *:82 <VirtualHost *:82> DocumentRoot /var/www3 ServerName www.example3.org </VirtualHost>
- -------------------------------XXX--------------------------
mkdir -p /var/www/html/www.ipvhost1.com mkdir -p /var/www/html/www.ipvhost2.com mkdir -p /var/www/html/www.portvhost.com
vi /var/www/html/www.ipvhost1.com/index.html
Add the following content.
<html> <head> <title>www.ipvhost1.com</title> </head> <body> <h1>The ipvhost1.com ip virtual host is working!</h1> </body> </html>
Save and close the file when you are finished.
Create an “index.html” file for “www.ipvhost2.com” virtual host.
vi /var/www/html/www.ipvhost2.com/index.html
Add the following content.
<html> <head> <title>www.ipvhost2.com</title> </head> <body> <h1>The ipvhost2.com ip virtual host is working!</h1> </body> </html>
Save and close the file when you are finished.
Create an “index.html” file for “www.portvhost.com” virtual host.
vi /var/www/html/www.portvhost.com/index.html
Add the following content.
<html> <head> <title>www.portvhost.com</title> </head> <body> <h1>The portvhost.com port virtual host is working!</h1> </body> </html>
chown -R www-data:www-data /var/www/html/www.ipvhost1.com chown -R www-data:www-data /var/www/html/www.ipvhost2.com chown -R www-data:www-data /var/www/html/www.portvhost.com
Also, you need to make sure the Apache web root (/var/www/html) directory is readable so that everyone can read files from it.
chmod -R 755 /var/www/html
[root@server ~]# vi /etc/httpd/conf/httpd.conf
Listen 80 Listen 81 Listen 82
<VirtualHost 192.168.1.228:80> ServerAdmin admin@ipvhost1.com ServerName www.ipvhost1.com DocumentRoot /var/www/html/www.ipvhost1.com ErrorLog ${APACHE_LOG_DIR}/www.ipvhost1.com_error.log CustomLog ${APACHE_LOG_DIR}/www.ipvhost1.com_access.log combined </VirtualHost>
<VirtualHost 192.168.1.228:81> ServerAdmin admin@ipvhost2.com ServerName www.ipvhost2.com DocumentRoot /var/www/html/www.ipvhost2.com ErrorLog ${APACHE_LOG_DIR}/www.ipvhost2.com_error.log CustomLog ${APACHE_LOG_DIR}/www.ipvhost2.com_access.log combined </VirtualHost>
<VirtualHost 192.168.1.228:82> ServerAdmin admin@portvhost.com ServerName www.portvhost.com DocumentRoot /var/www/html/www.portvhost.com ErrorLog ${APACHE_LOG_DIR}/www.portvhost.com_error.log CustomLog ${APACHE_LOG_DIR}/www.portvhost.com_access.log combined </VirtualHost>
# service httpd restart
httpp: your ip:port 80/81/82
----------