Устанавливаем из портов Apache22, при этом убираем поддержку IPV6:
cd /usr/ports/www/apache22
make install cleanДля старта apache при загрузке системы прописываем в
/etc/rc.conf строчку:
apache22_enable=YESУстанавливаем php5. Убираем поддержку IPV6, добавляем поддержку Apache:
cd /usr/ports/lang/php5
make install cleanВ конфиге Apache
/usr/local/etc/apache22/httpd.conf смотрим чтобы была строчка:
LoadModule
php5_module libexec/apache22/libphp5.soа так же блок:
<IfModule mod_php5.c>
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
находим секцию <IfModule dir_module> и добавляем index.php
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule> В
/usr/local/etc/php.ini проверяем, чтобы было разрешено отображение короткой формы записи
short_open_tag = OnВключаем защищенный режим:
safe_mode = OnНеобходимо так же раскомментировать строчки:
extension=php_mcrypt.dll
session.save_path = "/tmp"После этих действий страницы на php буду нормально открываться в браузере.
Устанавливаем MySQL 5.1
cd /usr/ports/databases/mysql51-server
make install clean
cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
/usr/local/bin/mysql_intsall_db user=mysql
chown -R mysql:mysql /var/db/mysql/
/usr/local/bin/mysqld_safe user=mysql &/usr/local/bin/mysqladmin -u root password 123456
в /etc/rc.conf добавляем:mysql_enable=YESУстановка PhpMyAdmin
cd /usr/ports/databases/phpmyadmin
make install cleanдобавляем в
/usr/local/etc/apache22/httpd.confAlias /pma/ /usr/local/www/phpMyAdmin/<Directory /usr/local/www/phpMyAdmin/>
Options none
AllowOverride Limit
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 .example.com
</Directory>Вместо .example.com нужно вписать IP с которого разрешено заходить.
Теперь необходимо создать файл конфигурации для подключения phpMyAdmin к MySQL. Делаем следующие действия:
cd phpMyAdminmkdir config # создаем директорию для записи
chmod o+rw config # даем права на запись
cp config.inc.php config/ # копируем текущий конфигурационный файл для редактирования
chmod o+w config/config.inc.php # даем права на запись
Идем по адресу
http://наш_сервер/pma/scripts/setup.php, нажимаем add, вносим нужные настройки (пароль root к БД, способ
атентификации) и записываем конфигурацию. Далее копируем конфигурационный файл обратно:
mv config/config.inc.php .
chmod o+r config.inc.php # ставим необходимые права
Всё. Теперь можно заходить по адресу
http://наш_сервер/pma/ и редактировать БД.
Ставим php5-mysql
cd /usr/ports/databases/php5-mysql
make install cleanСтавим php5-extensions, обязательно отметив галочками следующие пункты BCMATH, FTP, GD, GETTEXT, MBSTRING, ZLIB
cd /usr/ports/lang/php5-extensions
make install cleanВеб-файлы предполагается размещать в домашнем каталоге пользователя user. Создадим там папку
www. И сделаем символическую ссылку в этот каталог.
cd /usr/local/www/apache22/
rm -dr dataln -s /usr/home/user/www /usr/local/www/apache22/dataERROR 1045 (28000) Access denied for user 'root'@'localhost'
Запускаем в режиме без проверки прав доступа:
/usr/bin/mysqld_safe --skip-grant-tables &Соединяемся как root без пароля:
mysql --user=root mysqlОбновляем пароль:
mysql> update user set Password=PASSWORD('новый пароль') WHERE User='root';
mysql> flush privileges;Перезапускаем БД и пробуем войти под рутом с паролем
mysql -u root -p
Хотим:
1) Разместить все сайты на одном сервере
2) Сделать доступ к каждому сайту по отдельному URL
3) Ограничить доступ к некоторым сайтам
4) Сделать перенаправление нескольких имён на один сайт
Делаем:
Пойдём от простого к сложному. Для начала рассмотрим случай, когда у нас два сайта и два имени teo.mynetwork.ru и logos.mynetwork.ru. Эти имена должны быть доступны, т.е. держатель зоны mynetwork.ru должен прописать в ней узлы teo и logos
- Для каждого сайта создаём каталог в корневом каталоге документов Apache (teo и logos, соответственно). Для Linux это по умолчанию /var/www/html, но чтобы убедиться, где он расположен на нашем сервере, смотрим значение директивы DocumentRoot в
/etc/httpd/conf/httpd.conf. Итак, создаём:
#
mkdir /usr/local/www/apache22/data/teo /usr/local/www/apache22/data/logos- Мы будем разделять журналы для каждого сайта, поэтому создадим соответствующие каталоги:
#
mkdir /var/log/httpd/teo /var/log/httpd/logos- Если у нас уже был создан сайт, то всё его содержимое переносим в созданный для него каталог, т.е. из /var/www/html в /var/www/html/teo. Новый сайт logos.mynetwork.ru размещаем в
/usr/local/www/apache22/data/logos.Теперь настраиваем Apache. Добавляем в конец файла
/etc/httpd/conf/httpd.conf:NameVirtualHost 10.0.10.15
<VirtualHost teo.mynetwork.ru>
DocumentRoot /usr/local/www/apache22/data/teo
ServerName teo.mynetwork.ru
ErrorLog /var/log/httpd/teo/error_log
CustomLog /var/log/httpd/teo/access_log combined
</VirtualHost>
<VirtualHost logos.mynetwork.ru>
DocumentRoot /usr/local/www/apache22/data/logos
ServerName logos.mynetwork.ru
ErrorLog /var/log/httpd/logos/error_log
CustomLog /var/log/httpd/logos/access_log combined
</VirtualHost>Все настройки не заданные для сайта явным образом в директиве VirtualHost, наследуются от глобальных настроек Apache, указанных выше в этом же файле.
- Перезапускаем Apache:
apachectl restart