Под новый год решил побаловаться с nix, для этого решил собрать себе виртуальный "тестовый стенд".
WARNING: Никсовый пользователь я "не вот тебе", поэтому знающим людям некоторые вещи могут показаться странными. А может быть и нет
Поехали.
Итого: У нас есть голая фря под виртуальной машиной. Теперь нужно установить и настроить php + apache + mysql.
Немного меняем настройки виртуальной машины для того, чтобы к ней можно было обратиться по сети:
А вот и она, под ip 192.168.1.13:
Для начала хочу сказать, что я сразу поставил midnight commander, так как "бросал я vi в тартар" (с).
cd /usr/ports/misc/mc
make install
make clean
Ставим Apache 2x:
whereis apache22
cd /usr/ports/www/apache22
make config
make install
make clean
В /etc/rc.conf нужно добавить:
apache22_enable="YES"
hostname="192.168.1.13" #ip, который я выдал виртуальной машине
Устанавливаем php5. Ставить php как модуль апача или как cgi особо разницы в данном случае (для тестовой площадки) нет. Я решил поставить php как модуль для apache.
cd /usr/ports/lang/php5
make config
make install
make clean
cd /usr/ports/lang/php5-extensions
make install
make clean
Создаем php.ini, так как при установке из портов он не создается.
cd /usr/local/etc/
cp ./php.ini-production ./php.ini
Ставим mysql 5.0:
cd /usr/ports/databases/mysql50-server
make install
make clean
В /etc/rc.conf нужно добавить строку:
mysql_enable="YES"
Копируем конфиг:
cp /usr/local/share/mysq/my-huge.cnf /etc/my.cnf
Запускаем сервер:
/usr/local/etc/rc.d/mysql-server start
Теперь нам нужно подружить apache и php. Для этого идем в /usr/local/etc/apache22/httpd.conf.
Тут как минимум нужно не забыть указать:
# по указанным выше причинам
ServerName 192.168.1.13:80
# решил домик сделать тут, особо разницы где все это будет лежать нету.
DocumentRoot "/www/localhost/www"
# директория домика
<Directory "/www/localhost/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# Заодно поправим настройки для раздела cgi-bin, хотя наверное он мне все равно не пригодится
<Directory "/www/localhost/cgi-bin/">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Дальше два варианта настройки.
Если php был установлен как модуль апача, то нам нужно всего-лишь подключить модуль libphp5.so и прописать типы:
LoadModule php5_module libexec/apache22/libphp5.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Если php установлен как cgi, настройки несколько иные:
<IfModule alias_module>
AddHandler php-script .php .phtml
ScriptAlias /cgi-bin/ "/www/localhost/cgi-bin"
# Раздел, в котором лежит php-интерпритатор
ScriptAlias /local-bin/ "/usr/local/bin/"
# Говорим апачу, чтобы он скармливал все php-скрипты интерпритатору
Action php-script /local-bin/php-cgi
</IfModule>
# Ну и говорим апачу, что есть таки директория, в которой лежит php-интерпритатор
<Directory "/usr/local/bin/">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Запускаем апач:
/usr/local/sbin/apachectl start
Собственно после этих махинаций у нас все долно работать
На сегодня хватит. Выключаем фрю.
shutdown -p now