NetBSD 4.0.1 Связка Apache22+Mysql+PHP5
1. Установить из системы пакетов: www/apache22, databases/mysql-server, lang/php5, www/ap-php, databases/php-mysql. Я устанавливаю всё без дополнительной конфигурации (./configure --параметры...)
2. Настроим mysqld.
2.1. cp /usr/pkg/share/examples/rc.d/msqld /etc/rc.d
2.2. Добавить в /etc/rc.conf: mysqld=yes. Перезагрузиться
2.3. Минимально настроить безопасность mysql:
#mysql
> use mysql;
> delete from user where user='';
> grant all on * to root identified by 'новыйпароль';
> grant all on * to root@localhost identified by 'новыйпароль';
> grant all on * to root@127.0.0.1 identified by 'новыйпароль';
> flush privileges;
Совет. Если нужно создать таблицы и базы в нужных кодировках и представлениях нужно:
- Посмотреть доступные кодировки и представления
> show character set;
Созание базы данных (пример)
> create database AAA default character set cp1251 collate cp1251_general_ci; (так я перетаскивал joomla'у)
Создание таблиц
> create table TTT (str varchar(20)) default character set cp1251 collate cp1251_general_ci;
Замечу также, что для переноса joomla'ы мне даже не понадобилось создавать my.cnf, mysqld грузится по-умолчанию.
3. Дл настройки интерфейса php для mysql в конфиге php (/usr/pkg/etc/php.ini) дописать одно расширение:
extension=mysql.so
4. Настройка и запуск apache
4.1. В rc.local прописать для автозапуска:
if [-f /usr/pkg/sbin/httpd]; then
/usr/pkg/sbin/httpd -k start
fi
4.2. Запуститьиз командной строки, чтоб проверить работоспособность apache
# /usr/pkg/sbin/httpd -k start
Если при запуске были ошибки:
httpd: apr_sockaddr_info_get() failed for server.my.domain.name
httpd: Could not reliably determine the server's fully qualified name, using 127.0.0.1 for ServerName
a) проверить hostname:
# hostname
server.my.domain.name
b) прописать hostname в /etc/hosts:
192.168.0.111 server.my.domain.name
4.3. Настроим apache для работы с php в паре. Правим конфг /usr/pkg/etc/httpd/httpd.conf
В конец конфига добавляем:
LoadModule php5_module /usr/pkg/lib/httpd/mod_php5.so
AddHandler application/x-httpd-php .php
Найти раздел < IfModule dir_module> и отредактировать содержимое так (пробелы убрать после <):
< IfModule dir_module>
DirectoryIndex index.php index.html
< /IfModule>
Поменять корень вэб-документов на что-нибудь покороче, параметр DocumentRoot, например,
DocumentRoot "/var/www"
Если используются виртуальные хосты, расскоменировать строку
Include etc/httpd/httpd-vhosts.conf
оные прописывать в нём
4.4. Переапустить apache
# /usr/pkg/sbin/httpd -k restart
4.5. Проверим работу
# vi /var/www/phpinfo.php
забить в него (пробелы убрать после <):
< ?php
phpinfo();
?>
И в браузере ввести: http://localhost/phpinfo.php - должна выдаться конфигурация апача, пхп. Файл phpinfo.php удалить, чтоб не смущать хацкеров.
P.S. Если при попытке зайти на страницу ловим "You don't have permission to access / on this server.", скорее всего изменён DocumentRoot и для этого каталога не прописана секция Directory, например так (пробелы убрать после <):
< Directory "/var/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
< /Directory>
- tzar's blog
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 6353 просмотра
В wiki добавьте.
В wiki добавьте.
Добавил.
Добавил.
4.1. В rc.local прописать для
4.1. В rc.local прописать для автозапуска:
if [-f /usr/pkg/sbin/httpd]; then
/usr/pkg/sbin/httpd -k start
fi
У меня apache по нормальному запускается:
просто добавить rc.conf apache=YES
а с локали так...
/etc/rc.d/apache start
Да и корень менять не обязательно вовсе
>>Поменять корень вэб-документов на что-нибудь покороче, параметр >>DocumentRoot, например,
>>DocumentRoot "/var/www"
Достаточно в vhost добавить новый "сайт(ы)"
<VirtualHost *:80>
ServerName sitename.ru.yourdomain
ServerPath /YOUPATH/sitename.ru
DocumentRoot /YOUPATH/sitename.ru
ServerAdmin webmaster@sitename.ru
ScriptAlias /cgi-bin/ /YOUPATH/sitename.ru/cgi-bin/
</VirtualHost>
<Directory /YOUPATH/sitename.ru>
AllowOverride All
Options Indexes Includes IncludesNOEXEC MultiViews Indexes FollowSymlinks
Order allow,deny
Allow from all
</Directory>
<Directory /YOUPATH/sitename.ru/cgi-bin>
Options ExecCgi Includes MultiViews FollowSymlinks
</Directory>
Я так для себя делаю, можно внести любые изменения
а в X:\WINDOWS\system32\drivers\etc\hosts другой машине прописать
(если таковая машина есть)
YOURNETBSD IP sitename.ru.yourdomain
Пишите в Вашем броузере sitename.ru.yourdomain и Вы там...
Это, конечно, да. Можно и
Это, конечно, да. Можно и VirtualHost'ами на другие каталоги, но мне нравится, когда всё в одном месте, а не разбросано по винту и ищи потом через конфиг, где у тебя живёт собака.точка.ру
А по поводу apache=yes согласен полностью, можно и так))
Просто у меня сайтов много...
Просто у меня сайтов много... :)
Возможно я не совсем
Возможно я не совсем корректно выразился))
У меня тоже всё в VirtualHost'ах но лежит по пути /var/www)) (/var/www/site1,/var/www/site2,/var/www/site3)
Проверил оба варианта.
Проверил оба варианта. Этот:
- прописать в rc.local: apache=yes оказался 100% правильным,
- а мой:
if [-f /usr/pkg/sbin/httpd]; then
/usr/pkg/sbin/httpd -k start
fi
не всегда поднимал apache
вот такие пироги :)
Было бы нечестно не выложить
Было бы нечестно не выложить ссылку источник по данному вопросу, просто когда писал статью, ссылки под рукой не было (она осталась на работе).
Источник: http://bsdnetwork.blogsome.com/2007/10/03/mysql-netbsd/