Еще один вариант настройки 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/*»> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> |
Также добавим строку:
| NameVirtualHost *:80 |
и
| Include etc/apache22/sites-enabled/* |
Последняя нужна для того что бы указать серверу папку с настройками виртуальных хостов. Естественно эту папку нужно создать:
| mkdir /usr/local/etc/apache22/sites-enabled |
В ней создадим дефолтный файл настроек:
| <VirtualHost *:80> ServerName example.com DocumentRoot /usr/local/www/example.com </VirtualHost> |
Для добавления нового хоста теперь достаточно лишь скопировать этот файл с именем нашего добавляемого сайта, заменить example.com на новое имя и создать директорию в которой будут лежать файлы сайта, с аналогичным именем в папке /usr/local/www/.
То есть если мы добавляем сайт bestsite.com то у нас должна появиться папка/usr/local/www/bestsite.com и файл /usr/local/etc/apache22/sites-enabled/bestsite.com следующего содержания:
| <VirtualHost *:80> ServerName bestsite.com DocumentRoot /usr/local/www/bestsite.com </VirtualHost> |
После этого перезапускаем Apache:
| apachectl restart |
и можем заходить на bestsite.com.
Процесс добавления/удаления виртуальных хостов можно автоматизировать. Следующий скрипт предназначен для этого:
| #!/bin/sh#Add function add_site() { echo «Creating new site» sleep 1 echo -n «Please, enter the name of site:» while read SITE echo «Creating directory for site $DIR» #function for removing #check user rights #deletion-addition process |
Сохраняем его. Называем наш файл site, делаем исполняемым и помещаем в папку /usr/bin.
Запускать его нужно с параметрами:
site add – для добавления сайта;
site rm – для удаления.
http://materynko.blogspot.com/2011/06/apache-php-mysql-freebsd.html