Еще один вариант настройки Web-сервера теперь уже для FreeBSD.
Будем ставить из портов.
Apache:
cd /usr/ports/www/apache22 make&&make install&&make clean |
PHP:
cd /usr/ports/lang/php5 make&&make install&&make clean cd /usr/ports/lang/php5-extensions/ make&&make install&&make clean |
MySQL:
cd /usr/ports/databases/mysql51-server make&&make install&&make clean |
Для запуска Apache и MySQL при старте системы добавим в файл /etc/rc.conf строки:
apache22_enable=”YES” mysql_enable=”YES” |
Запустим Apache и MySQL:
/usr/local/etc/rc.d/mysql-server start apachectl start |
Создадим пароль для пользователя root в базе данных:
mysqladmin -u root password 'мегасложныйпароль' |
Перейдем к настройке.
Открываем для редактирования файл конфигурации Apache /usr/local/etc/apache22/httpd.conf, ищем строки начинающиеся с AddType и дописываем туда:
AddType application/x-httpd-php .php AddType application/x-httpd-php-sourse .phps |
Это нужно что бы сервер знал что делать с файлами с расширениями php и phps.
Также добавляем имя нашего хоста:
ServerName localhost |
Что бы проверить работоспособность Web-сервера отрываем браузер и в адресной строке набираем localhost, если появилась надпись “It works!”, значить все нормально.
Проверим работу php. В каталоге /usr/local/www/apache22/data/ создадим файл index.php со следующим содержимым:
<?phpinfo()?> |
В адресной строке браузера набираем localhost/index.php, долна отобразится страница с информацией о php.
По умолчанию на нашем сервере лежит один сайт, файлы которого находятся в папке /usr/local/www/apache22/data/. Если же вам мало одного то придется настроить добавление виртуальных хостов.
Наши сайты будут лежать в папке /usr/local/www/, поэтому нужно сделать доступной эту папку для нашего сервера. Для этого добавим в конец файла http.conf следующие строки:
<Directory "/usr/local/www/*"> |
Также добавим строку:
NameVirtualHost *:80 |
и
Include etc/apache22/sites-enabled/* |
Последняя нужна для того что бы указать серверу папку с настройками виртуальных хостов. Естественно эту папку нужно создать:
mkdir /usr/local/etc/apache22/sites-enabled |
В ней создадим дефолтный файл настроек:
<VirtualHost *:80> |
Для добавления нового хоста теперь достаточно лишь скопировать этот файл с именем нашего добавляемого сайта, заменить example.com на новое имя и создать директорию в которой будут лежать файлы сайта, с аналогичным именем в папке /usr/local/www/.
То есть если мы добавляем сайт bestsite.com то у нас должна появиться папка /usr/local/www/bestsite.com и файл /usr/local/etc/apache22/sites-enabled/bestsite.com следующего содержания:
<VirtualHost *:80> |
После этого перезапускаем Apache:
apachectl restart |
и можем заходить на bestsite.com.
Процесс добавления/удаления виртуальных хостов можно автоматизировать. Следующий скрипт предназначен для этого:
#!/bin/sh #Add function echo "Creating directory for site $DIR" #function for removing #check user rights #deletion-addition process |
Сохраняем его. Называем наш файл site, делаем исполняемым и помещаем в папку /usr/bin.
Запускать его нужно с параметрами:
site add – для добавления сайта;
site rm – для удаления.