понедельник, 26 января 2009 г.

Web сервер apache

Сервер установил внутри локальной сети с ip: 192.168.х.х. На маршрутизаторе сделал проброс по 80 порту до apache.

В httpd.conf Apache HTTP сервера устанавливается в /usr/local/etc/apache/httpd.conf
ServerAdmin you@your.address - Адрес, на который должны будут отправляться сообщения о проблемах с сервером.
DocumentRoot "/usr/local/www/data" - Каталог, внутри которого будут храниться документы.
ServerName domen.com - обозначение имени сервера
Поменять:
#Directory /#
AllowOverride all
Order deny,allow
Allow from all
#/Directory#

# Virtual hosts
Include conf/extra/httpd-vhosts.conf Конфигурация виртальных хостов

#
/usr/local/sbin/apachectl start(stop/restart) Запуска APACHE

# /usr/local/sbin/apachectl graceful Для перезапуска Apache без прерывания имеющихся соединений
Для запуска Apache при старте системы в /etc/rc.conf:
apache_enable="YES"


Виртуальные хостинги.
Физический сервер связан с одним IP адресом. Несколько доменных имен связываются с этим IP адресом. Все логические веб-сервера прослушивают один единственный порт. Сервер различает запросы, используя поле HOST, которое является обязательным в HTTP запросах в HTTP версии 1.1.
httpd-vhosts.conf:
#VirtualHost *:80#
ServerName www.holdwest.com
DocumentRoot /home/vital/sait/wwwholdwest
ErrorLog "/var/log/httpd_wwwholdwestcom.log"
#/VirtualHost#

#VirtualHost *:80#
ServerName talisman.holdwest.com
DocumentRoot /home/vital/sait/talisman
ErrorLog "/var/log/httpd_talismanholdwestcom.log"
#/VirtualHost#

#VirtualHost *:80#
ServerName www.talisman.holdwest.com
DocumentRoot /home/vital/sait/wwwtalisman
ErrorLog "/var/log/httpd_wwwtalismanholdwestcom.log"
#/VirtualHost#


Установка MySQL:
cd /usr/ports/databases/mysql50-server
make install clean
mysql_install_db установка базы

В
/etc/ rc.conf:
mysql_enable=”YES”

Запуск MySQL:
/usr/local/etc/rc.d/mysql-server start

При 1-м запуске ругался на то, что не существует /tmp/mysql.sock, после рестарта все ок
/usr/local/etc/rc.d/mysql-server restart

В MySQL 5.0 по умолчанию пользователь root, после первоначальной установки сервера, создается без пароля. Вернее с пустым паролем. Поэтому задаем его сами:
mysqladmin -u root password новый_пароль

/usr/local/bin/mysqladmin version показывает версию sql
после установки пароля на root в sql:
/usr/local/bin/mysqladmin version --u=root --password=Pass

После смены пароля root для sql входить:
mysql --user=root --password=Новый пароль
После каждой команды необходимо вводить ";:"
help;

Выводит базы sql:
mysqlshow --u=root --password=Pass

Установка PHP5:
cd /usr/ports/lang/php5
make install clean
cd /usr/ports/lang/php5-extensions
make install clean

В httpd.conf дописываем, что бы apache понимал файлы php и phps:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps