У попередній статті ми встановлювали на систему Linux Mint (Ubuntu) локальний сервер. Без жодних зусиль таким способом можна створити один сайт, але не більше. Щоб розгорнути на своєму локальному сервері кілька сайтів, потрібно зробити ще декілька речей. Розглянемо їх детально.
Редагуємо хости
У першу чергу заглянемо у файл /etc/hosts – у ньому потрібно знайти стрічку 127.0.0.1 localhost і додати після неї назву свого додатково сайту (чи декількох). Допустимо, Ви хочете додати ще один сайт, доступ до якого буде за адресою http://test. В такому випадку редагуємо вищезгаданий рядок так, щоб він мав отакий вигляд:
127.0.0.1 localhost test
Розташування сайту
Тепер створимо папку для нашого нового сайту. Папку теж назвемо test, щоб не було плутанини:
sudo mkdir /var/www/test
Новій папці бажано змінити права, оскільки дуже часто бувають проблеми із роботою сайтових двигунців, якщо неправильно розподілені права. Тому виставляємо права по правилу “все всім”:
sudo chmod -R 777 /var/www/test
Для швидкого доступу можна створити символічне посилання на дану папку у домашній папці. Це справа особиста, даний крок можна пропустити. Якщо ж ні, то вводимо наступну команду:
suno ln -s /var/www/test ~/test
Файл налаштувань для сайту
Створимо де-небудь у домашній папці файл test.conf із наступним вмістом:
<VirtualHost *:80> ServerAlias test www.test DocumentRoot /var/www/test <Directory var/www/test/> AllowOverride All </Directory> </VirtualHost>
Його потрібно скопіювати із правами суперкористувача у папку /etc/apache2/sites-available:
sudo mv ./test.conf /etc/apache2/sites-available
Даний сайт не буде працювати, поки ми його не активуємо:
sudo a2ensite test
Для увімкнення семантичних посилань (friendly URL) активуємо ще модуль mod-rewrite:
sudo a2enmod rewrite
Тепер перезапустимо сервер:
sudo service apache2 restart
Все готово, можете перевірити: сайт, який розміщений у папці /var/www/test, буде доступний у браузері за адресою http://test.
А нижче наведений скрипт, який автоматично створює п’ять сайтів у різних каталогах та виводить посилання на загальну папку із сайтами в домашній папці користувача:
#!/bin/bash sudo sed -i 's/127.0.0.1 localhost/& test1 test2 test3 test4 test5/' '/etc/hosts' sudo mkdir /var/www/test1 /var/www/test2 /var/www/test3 /var/www/test4 /var/www/test5 sudo chmod -R 777 /var/www sudo ln -s /var/www ~/www touch ./test1.conf ./test2.conf ./test3.conf ./test4.conf ./test5.conf echo '<VirtualHost *:80> ServerAlias test1 www.test1 DocumentRoot /var/www/test1 <Directory var/www/test1/> AllowOverride All </Directory> </VirtualHost>' > ./test1.conf echo '<VirtualHost *:80> ServerAlias test2 www.test2 DocumentRoot /var/www/test2 <Directory var/www/test2/> AllowOverride All </Directory> </VirtualHost>' > ./test2.conf echo '<VirtualHost *:80> ServerAlias test3 www.test3 DocumentRoot /var/www/test3 <Directory var/www/test3/> AllowOverride All </Directory> </VirtualHost>' > ./test3.conf echo '<VirtualHost *:80> ServerAlias test4 www.test4 DocumentRoot /var/www/test4 <Directory var/www/test4/> AllowOverride All </Directory> </VirtualHost>' > ./test4.conf echo '<VirtualHost *:80> ServerAlias test5 www.test5 DocumentRoot /var/www/test5 <Directory var/www/test5/> AllowOverride All </Directory> </VirtualHost>' > ./test5.conf sudo mv ./test1.conf ./test2.conf ./test3.conf ./test4.conf ./test5.conf /etc/apache2/sites-available sudo a2ensite test1 sudo a2ensite test2 sudo a2ensite test3 sudo a2ensite test4 sudo a2ensite test5 sudo a2enmod rewrite sudo service apache2 restart
Прокоментувати