(Notes) UNIX (2004 год)

Установка и администрирование форума на PHPBB2

На свете есть много платных форумов - IPB, vbulletin и т.д. - но я обычно предпочитаю ставить бесплатные форумы. На этой станичке будет рассмотрен порядок установки и администрирования форума PHPBB2.

Форум PHPBB написан на PHP, который даже сам по себе довольно трудно конфигурится, причем этот форум часто требует несовместимых с требуемыми другими скриптами настроек. Чтобы не заморачиваться на этом - дальше будет описано как ставить этот форум на чистую систему.

ШАГ1. Для этого примера я буду использовать вот такую дохленькую машинку, на которую сначала мы установим FreeBSD и затем сконфигурим IP,DNS и шлюз. После этого в этот сервер уже можно входить удаленно. Для этого я предпочитаю использовать SecureCRT, но она платная. Можно использовать более ограниченную по возможностям PUTTY - тем более она не требует инсталляции и крека.

После установки с дистрибутивного диска MININSTALL.ISO на сервере еще нет установленных программ (но дерево уже портов установлено). Также предполагается, что во внешнем DNS уже заведено имя этого компьютера.

ШАГ2. Перед всеми серьезными работами я всегда сначала обновляю дерево портов. Для этого сначала ставится CVSUP, затем создается командный файлик обновлений и затем, собственно, запускаются обновления. Обратите внимание, сколько портов добавилось при установке CVSUP. На этом подготовительном этапе хорошо бы еще поставить Нортон Командер, после чего установленные в системе порты будут выглядеть вот так. MC обычно сразу не стартует и чтобы не возиться с переменными окружения - после окончания этого подготовительного этапа сервер проще перезагрузить. Хорошо бы еще сразу поставить Tripwire - я уже много лет без него как без рук. Чтобы потом не тратить время на построение индекса установленных портов - можно сразу после перезагрузки выполнить второй вход в сервер и на нем запустить построение индекса.

ШАГ3. Теперь собственно ставим форум (ответ во всплывающем окне конфигурирования PHP4 - такой). Все настройки зависимых портов при такой установке будут выполнены автоматически. Сам форум попадет в /usr/local/www/data-dist/phpBB2, а файл конфигурирования Апача в /usr/local/etc/apache. Файл конфигурирования PHP4 - PHP.INI при такой установке автоматически не создается - в /usr/local/etc записываются только его дистрибутивные прототипы php.ini-dist и php.ini-recommended:

Настройки Апача можно после этого можно зафиксировать в файл Configuration.apaci командой
# cd /usr/ports/www/apache13/work/apache_1.3.33; ./config.status
а, соответственно, настройки PHP4 можно зафиксировать командой
# cd /usr/ports/lang/php4/work/php-4.3.10; ./config.status

ШАГ4. Предварительно конфигурим Апач вот так и запускаем его. Если все предыдущие шаги были сделаны правильно, то получаем такое окно. К сожалению, к конфигурированию Апача нам еще придется вернутся позже - когда мы определимся с базой данных форума и модуль libexec/apache/libphp4.so станет нам недоступен.

ШАГ5. Теперь определимся с базой данных. Для простейшего конфигурирования форума мы будем использовать СУБД mysql, расположенную на этом же компе (хотя намного интереснее использовать графический интерфейс MS SQL 2000 на компеце под виндузней, подключенный через ODBC). Для начала поставим mysql-client и mysql-server. При установке из порта /usr/ports/databases/mysql41-server клиент будет поставлен автоматически, причем нужной версии. Проверяем установку этих портов.

Если установка прошла правильно, то в /etc/passwd добавился пользователь mysql:
mysql:*:88:88:MySQL Daemon:/var/db/mysql:/sbin/nologin
Создался каталог/var/db/mysql, в котором будут в будущем размещаться базы данных:
drwx------ 2 mysql mysql 1536 Dec 18 00:33 mysql
drwx------ 2 mysql mysql 512 Dec 18 00:33 test
А каталог автозапуска /usr/local/etc/rc.d теперь должен выглядеть вот так:
-rwxr-x--- 1 root wheel 181 Dec 17 19:00 000.mysql-client.sh
-r-xr-xr-x 1 root wheel 739 Dec 17 14:30 apache.sh
-rwxr-x--- 1 root wheel 1405 Dec 18 00:33 mysql-server.sh

ШАГ6.На этом этапе нам надо добиться запуска сервера mysql. В принципе, управление сценарием mysql-server.sh выполняется через три параметра, включаемых в /etc/rc.conf
mysql_enable=YES/NO
mysqllimits_enable=YES/NO
mysqllimits_args=строка параметров демона (ее можно посмотреть по /usr/local/libexec/mysqld --v --help)

Поэтому указываем mysql_enable=YES и пробуем перезагрузится (а на моей системе еще потребовалось добавить в .cshrc путь /usr/local/libexec). После перезагрузки ps -waux должен дать:
mysql 390 0.0 0.0 1652 0 con- IW - 0:00.00 /bin/sh /usr/local/bin/mysqld_safe --user=mysql --datadir=/var/db/mysq
mysql 428 0.0 42.8 55492 24316 con- S 4:28PM 0:03.52 /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/db/mysql

Нижний демон - собственно демон сервера mysql, а верхний контроллер, автоматически перезапускающий нижний.

При этом в рабочем каталоге /var/db/mysql добавятся несколько файлов, а файл forum.soft-help.ru.err должен содержать журнал первичного создания файла базы данных.

ШАГ7.Теперь попробуем запустить клиентскую часть mysql. Вот такое сообщение означает, что сервер mysql на предыдущем шаге не запустился. Но если все прошло нормально, то наконец-то получим приглашение mysql>

Как вы можете здесь увидеть, чистая установка содержит одного пользователя root (не имеющего отношения к системному логину root) и две базы (пустую test и базу системных параметров mysql - в которой мы и посмотрели созданных при инсталляции юзеров).

ШАГ9. Запаролим доступ к базам юзером root.
forum# mysqladmin --user=root --host=localhost password ******
Теперь входить в mysql надо будет с указанием юзера и пароля:
forum# mysql -u root -p

ШАГ10. Запретим вход удаленного клиента на этот сервер.

ШАГ11. Теперь создадим учетную запись пользователя и пароль для работы с форумом.

ШАГ12. Создадим базу данных для форума и определим разрешения учетной записи на доступ к этой базе.

ШАГ13. Поскольку на этапе инсталляции форума мы не указывали с какой именно базой мы будем работать, то PHP4 сконфигурился по умолчанию без поддержки MYSQL. На этом шаге нам пора исправить это. Заходим в /usr/ports/lang/php4-cli и конфигурим PHP с опцией --with-mysql. Почему нельзя конфигурить сразу из интегрированного порта - прочитайте здесь.

Посмотрим на нашу итоговую конфигурацию PHP4, полученную по php -i > phpinfo.htm.

ШАГ14. Если вы читали это, то понимаете почему нам надо переконфигурить Апач на работу с CGI. Если мы теперь обратимся к нашему серверу еще раз так же, как обращались на шаге 4, то получим вот такую картинку.

Изменим конфигурацию Апача с DSO-PHP на CGI-PHP. Вот теперь картинка изменилась - PHP расширения вновь стали обрабатываться.

ШАГ15. И вот теперь нам осталось только правильно заполнить все поля на форме, нажать Install и наслаждаться.



Комментарии к этой страничке ( )
ссылка на эту страничку: http://www.vb-net.ru/hosting/forum/index.html
<Назад>  <Назад>  <На главную>  <В раздел ASP>  <В раздел NET>  <В раздел SQL>  <В раздел Разное>  <Написать автору>  < Поблагодарить>