Инсталляция из исходных кодов
(Действительно для версий до 6.2.11)
ВНИМАНИЕ: Следует заметить, что инсталляция WebGUI не является простой задачей. Эта система проста и очень наглядна в эксплуатации, но сложна в установке. Во-первых, Вам понадобится доступ к серверу с правами суперпользователя. Может потребоваться установка и настройка дополнительных программ и библиотек, переконфигурация уже установленных. Не всякий провайдер может позволить Вам делать подобное на своём сервере.
Если у Вас нет достаточного опыта или возможности администрировать сервер мы предлагаем пойти следующим путём:
Сначала зайти в демонстрационную область и попробовать применить работающий WebGUI на практике.
Если Вы убедитесь, что это именно то, что Вам подходит, то можете просто воспользоваться уже установленным и настроенным WebGUI у нас. Для этого достаточно будет заказать WebGUI хостинг.
Необходимые условия
Перед инсталляцией WebGUI должны быть установлены следующие компоненты.
- Современная операционная система. Рекомендуется Fedora Core, тем не менее, любая из Linux, BSD, Unix, Windows 2000/XP/2003, or Mac OSX - также будет работать.
- MySQL 3.23 и выше.
- Perl 5.6 или выше, но лучше 5.8.
- Apache 1.3 или выше с установленным mod_perl.
- ImageMagick, включая PerlMagick.
Модули Perl
WebGUI для работы понадобятся следующие модули, которые можно установить через CPAN (
www.cpan.org). Нет необходимости все модули загружать и устанавливать вручную, хотя для отдельных из них, - это может понадобиться (например: DBD::mysql). Выполните следующие команды из командной строки для установки необходимых модулей.
perl -MCPAN -e shell
install LWP
install DBI
install DBD::mysql
install Date::Calc # Более ранние версии, чем 6.2.0
install Date::Manip # Начиная с версии 6.2.0
install Archive::Tar
install IO::Zlib
install Compress::Zlib
install Digest::MD5
install Cache::Cache
install Data::Serializer
install HTML::Parser
install SOAP::Lite
exit
Каждый из перечисленных модулей может потребовать инсталляции дополнительных модулей, необходимых ему для работы. Придётся сделать это. Очень удобно устанавливать Perl-овые модули с помощью программы Webmin (
http://www.webmin.com). Ему можно дать команду самостоятельно установить дополнительные модули, которые необходимы для установки перечисленных выше. Хотя, когда степень вложенности 3 и более это не всегда срабатывает. (например, когда для установки модуля необходим перечень модулей, для которых, в свою очередь, неодходимы ещё модули и т. д.). В этом случае придётся дробить операцию на несколько этапов.
WebGUI
Скачайте последнюю версию WebGUI (www.plainblack.com/download).
Положите файлы инсталляции WebGUI в то место, где у Вас расположены остальные сайты. Мы будем использовать, например, /data/WebGUI. Запустите следующие команды:
tar -zxvf webgui-x.x.x.tar.gz
mv WebGUI /data/
touch /data/webgui.log
chown nobody /data/webgui.log
Задачи Cron
Для обслуживания WebGUI Вам необходимо будет добавить функцию в перечень задач cron. Задание должно запускаться каждый час. Для выполнения этого, как правило, в командной строке вводится команда crontab -e для редактирования списка задач. Внесите запись, подобную этой:
0 * * * * cd /data/WebGUI/sbin/; perl runHourly.pl >/dev/null 2>/dev/null
Эта задача будет каждый час запускать программу, обслуживающую функционирование системы уведомлений WebGUI, кеширование страниц и др.
Конфигурация Apache
Следующие изменения следует внести в директивы относящиеся к настройкам всего сервера, если у Вас несколько виртуальных хостов работает под WebGUI. Если у вас есть виртуальные хосты, работающие на других платформахи языках, то целесообразнее эти изменения делать внутри блока VirtualHost каждого из виртуальных хостов, раборающих под WebGUI.
Сначала найдите (или создайте, в случае конфигурирования каждого хоста) диррективу DirectoryIndex и добавьте index.pl в существующий перечень. Это должно выглядеть приблизительно так:
DirectoryIndex index.pl index.html #и т. д.
Для разрешения mod_perl на всех сайтах добавьте нижестоящие строки в общие директивы. Если Вы хотите применить эти настройки только для отдельных сайтов, тогда необходимо будет их добавить внутрь каждого из виртуальных хостов. В зависимости от ситуации и расположения WebGUI у Вас на сервере, необхлдимо будет отредактировать пути, выделенные зелёным цветом.
<IfModule mod_perl.c>
<Files ~ "\.(pl)$">
SetHandler perl-script
# PerlHandler ModPerl::Registry # Для Apache 2.Х.Х
PerlHandler Apache::Registry # Для Apache 1.3.Х
</Files>
PerlRequire /data/WebGUI/sbin/preload.perl
Alias /extras /data/WebGUI/www/extras
</IfModule>
<Directory /data/domains/example.com/www>
DirectoryIndex index.pl
Options Indexes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
# Если Вы устанавливаете WebGUI 6.1.Х, то Вам понадобится
# скрипт для редактирования перевода (wgi18nedit.cgi).
# Необходимо ограничить доступ к нему посторонним.
# Для версий 6.0.3 и более ранних - в этом нет необходимости.
# Начало блока ограничения доступа:
<Files wgi18nedit.cgi>
AuthType Basic
AuthName "Please type your user name and password"
AuthUserFile /usr/local/apache/passwd/passwords
Require user user1 user2
</Files>
# Окончание блока ограничения доступа
</Directory>
Заметка: Не забудьте закомментировать и раскоментировать соответствующие строки, в зависимости от того, какая версия Apache у Вас установлена. (Отмечено примечанием красного цвета.)
Примечание: Здесь и далее жирным зелёным шрифтом указаны места, которые Вам необходимо будет изменить, в соответствии с настройками вашего сервера и местом инсталляции WebGUI.
Virtual Hosts
Добавьте virtual host в конфигурационный файл Вашего Apache сервера после записи: NameVirtualHost *:80:
<VirtualHost *:80>
DocumentRoot /data/domains/example.com/www
ServerName www.example.com
ServerAlias example.com
ErrorDocument 404 /index.pl/page_not_found # Не обязательно
CustomLog /data/domains/example.com/logs/access_log combined
</VirtualHost>
Примечание: Все описанные шаги от установок Virtual Hosts, Файлов WebGUI, конфигурации базы данных для WebGUI и шлюза WebGUI Вам понадобится повторить применительно к каждому сайту, который будет работать под WebGUI.
Файлы WebGUI
Теперь необходимо создать файловую систему WebGUI. Просто, введите следующие команды:
mkdir -p /data/domains/example.com/www
cd /data/domains/example.com
mkdir logs
cp /data/WebGUI/etc/WebGUI.conf.original /data/WebGUI/etc/www.example.com.conf
cd www
cp /data/WebGUI/www/index.pl ./
cp -R /data/WebGUI/www/uploads ./
chown nobody uploads
Конфигурация WebGUI для работы с базой данных
Вам необходимо создать базу данных для WebGUI и сконфигурировать WebGUI для работы с ней. Удобнее всего это делать через phpMyAdmin. Но если Вы любите работать с командной строкой, то введите следующие команды:
cd /data/WebGUI/etc
mysql -e "create database www_example_com"
mysql -e "grant all privileges on www_example_com.* to webgui@localhost identified by 'password'"
mysql -e "flush privileges"
mysql -uwebgui -ppassword www_example_com< /data/WebGUI/docs/create.sql
Теперь отредактируйте www.example.com.conf в соответствии с установками базы данных. Это должно выглядеть приблизительно так:
sitename = www.example.com, example.com
dsn = DBI:mysql:www_example_com
dbuser = webgui
dbpass = password
logfile = /data/domains/example.com/logs/webgui.log
extras = /extras
uploadsURL = /uploads
uploadsPath = /data/domains/example.com/www/uploads
Шлюз WebGUI
Теперь необходимо сконфигурировать шлюз WebGUI используя данные конфигурационного файла, который Вы создали. Используя любой текстовый редактор на ваш выбор, отредактируйте файл /data/domains/example.com/www/index.pl.
#!/usr/bin/perl
our ($webguiRoot, $configFile);
BEGIN {
$configFile = "www.example.com.conf";
$webguiRoot = "/data/WebGUI";
unshift (@INC, $webguiRoot."/lib");
}
use CGI::Carp qw(fatalsToBrowser);
use strict;
use WebGUI;
print WebGUI::page($webguiRoot,$configFile);
Заметка: Если Вы используете mod_perl 1.0 (Apache 1.3.X) Вы должны отредактировать соответственно /data/WebGUI/sbin/preload.perl. Инструкции по этому находятся в теле самого файла.
Заметка: Если Вы инсталлировали в директорий отличный от /data, то Вы необходимо будет отредактировать файл preload.perl в соответствии с Вашими установками.
Всё сделано
Вы инсталлировали WebGUI. Теперь Вы можете входить под именем администратора и конструировать свой сайт. Просто введите в адресной строке браузера http://www.example.com и нажмите "Enter". Впрочем, конечно-же вводите адрес своего сайта. 
Примечание: По-умолчанию установлены: имя пользователя "Admin" и пароль "123qwe".