Подешавање виртуалних хостова на CentOS 7

У следећем упутству ћемо на ЦентОС 7 виртуалној машини на којој је већ инсталиран LAMP (текст овде) подесити виртуалне хостове. Виртуални хостови омогућавају хостовање више независних вебсајтова на једном серверу. У овом случају сервер нам је на домену ch.local и желимо да поставимо два одвојена сајта на поддоменима wordpress.ch.local и magento.ch.local.

Ако ви радите са реалним доменима (domen.com, example.com, sajt.example.com…) требате кроз панел за управљање тих домена их преусмерите да гађају IP адресу вашег сервера….у оном случају ради се о локалној мрежи где су ch.local, wordpress.ch.local и magento.ch.local локални домени постављени да гађају неки локални сервер.

Ово све радите као не-root корисник који је у судоерсима (ово сам написао као да су неки мото клуб или секта у питању).

# Креирање фолдера где це се налазити фајлови и логови
sudo mkdir -p /var/www/html/wordpress.ch.local/files
sudo mkdir -p /var/www/html/wordpress.ch.local/log
sudo mkdir -p /var/www/html/magento.ch.local/files
sudo mkdir -p /var/www/html/magento.ch.local/log

# Додавање selinux пермисија на лог фолдерима
sudo chcon -R -u system_u -t httpd_log_t /var/www/html/wordpress.ch.local/log
sudo chcon -R -u system_u -t httpd_log_t /var/www/html/magento.ch.local/log

# Подешавање пермисија (после и apache.apache)
sudo chown -R $USER:$USER /var/www/html/wordpress.ch.local
sudo chown -R $USER:$USER /var/www/html/magento.ch.local

# Подешавање првог виртуалног хоста
sudo vi /etc/httpd/conf.d/wordpress.ch.local.conf
<VirtualHost *:80>
    ServerName www.wordpress.ch.local
    DocumentRoot /var/www/html/wordpress.ch.local/files
    ServerAlias wordpress.ch.local
    <Directory /var/www/html/wordpress.ch.local>
              Options Indexes FollowSymLinks
              AllowOverride All
              Require all granted
    </Directory>
    ErrorLog  /var/www/html/wordpress.ch.local/log/error.log
    CustomLog /var/www/html/wordpress.ch.local/log/requests.log combined
</VirtualHost>

# Подешавање другог виртуалног хоста
sudo vi /etc/httpd/conf.d/magento.ch.local.conf
<VirtualHost *:80>
    ServerName www.magento.ch.local
    DocumentRoot /var/www/html/magento.ch.local/files
    ServerAlias magento.ch.local
    <Directory /var/www/html/magento.ch.local>
              Options Indexes FollowSymLinks
              AllowOverride All
              Require all granted
    </Directory>
    ErrorLog  /var/www/html/magento.ch.local/log/error.log
    CustomLog /var/www/html/magento.ch.local/log/requests.log combined
</VirtualHost>

# Тест садржај
echo "OK WordPress" >> /var/www/html/wordpress.ch.local/files/index.html
echo "OK Magento" >> /var/www/html/magento.ch.local/files/index.html

# Reload apache webserver-a
sudo systemctl restart httpd

Остаје само још проверити раде ли сајтови, одласком на web adrese wordpress.ch.local и magento.ch.local

Sve je OK