Этот урок показывает, как можно установить и запустить Joomla 1.7 Web сайт на Debian Squeeze или Ubuntu 11.10 системе, которая установлена на Nginx вместо Apache. Nginx является HTTP-сервером, который использует гораздо меньше ресурсов, чем Apache и обеспечивает страницам гораздо быстрое открытие статических файлов.
Joomla 1.6 русификация
Здесь я хочу установить Joomla в виртуальный хост называемый www.example.com / example.com с корневым каталогом в /var/www/www.example.com/web.
Вы уже должны иметь работающий Web сервер установки, как показано на эти учебники:
Далее делаем следующее:
- Установка Nginx с PHP5 (и PHP-FPM) и поддержкой MySQL в Debian Squeeze
- Установка Nginx с PHP5 (и PHP-FPM) и поддержкой MySQL в Ubuntu 11.10
Примечание для пользователей Ubuntu:
Так как мы мы должны выполнить все шаги из этого учебника с привилегиями суперпользователя (root), мы можем либо выполнять все команды в этом руководстве со строкой sudo , или мы становимся root прямо сейчас, введя команду:
|
Установка APC
APC является свободным и открытым PHP кодом cacher для кэширования и оптимизации промежуточного кода PHP. Он похож на другие машинные PHP коды кэширования, таких как Eaccelerator и XCache. Настоятельно рекомендуется, чтобы один из них был установлен, для ускорения Ваших PHP-страниц.
APC может быть установлен следующим образом:
|
Если Вы используете PHP-FPM как Ваш FastCGI демон (как в Установка Nginx с PHP5 (и PHP-FPM) и поддержкой MySQL в Ubuntu 11.10), перезагрузите его следующим образом:
|
Если вы используете spawn-fcgi программу Lighttpd в качестве FastCGI демона (как в Установка Nginx с PHP5 (и PHP-FPM) и поддержкой MySQL в Debian Squeeze), мы должны убить текущий spawn-fcgi процесс (работающий на порту 9000) и создать новый. Запустив:
|
, чтобы узнать PID текущего spawn-fcgi процесса:
|
root@server1:~# netstat -tap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:sunrpc *:* LISTEN 734/portmap tcp 0 0 *:www *:* LISTEN 2987/nginx tcp 0 0 *:ssh *:* LISTEN 1531/sshd tcp 0 0 *:57174 *:* LISTEN 748/rpc.statd tcp 0 0 localhost.localdom:smtp *:* LISTEN 1507/exim4 tcp 0 0 localhost.localdom:9000 *:* LISTEN 1542/php5-cgi tcp 0 0 localhost.localdo:mysql *:* LISTEN 1168/mysqld tcp 0 52 server1.example.com:ssh 192.168.0.198:2462 ESTABLISHED 1557/0 tcp6 0 0 [::]:www [::]:* LISTEN 2987/nginx tcp6 0 0 [::]:ssh [::]:* LISTEN 1531/sshd tcp6 0 0 ip6-localhost:smtp [::]:* LISTEN 1507/exim4 root@server1:~#
В выводе выше, PID 1542 , поэтому мы можем убить текущий процесс следующим образом:
|
Затем мы создаем новую spawn-fcgi процесс:
|
Установка Joomla
Корневой директирией сайта моего www.example.com хоста является /var/www/www.example.com/web - если она не существует, создайте его следующим образом:
|
Так как, Joomla поставляется в виде архива, нам нужно установить unzip:
|
Далее мы скачать Joomla из http://www.joomla.org/download.html и поместим его в наш корневой каталог:
|
Рекомендуется, чтобы сделать что бы корневой каталог и файлы Joomla в ней были доступны для записи Nginx демоном, который работает как пользователь www-data в группе www-data:
|
Если Вы еще не создали базу данных MySQL для Joomla (в том числе пользователя MySQL для Joomla), Вы можете сделать это следующим образом (я назову базу данных joomla в этом примере, а пользователь называю joomla_admin, и его пароль joomla_admin_password):
|
Далее мы создадим Nginx конфигурацию виртуального хоста для нашего www.example.com виртуального хоста в /etc/nginx/sites-available/ следующим образом:
|
server { listen 80; server_name www.example.com example.com; root /var/www/www.example.com/web; if ($http_host != "www.example.com") { rewrite ^ http://www.example.com$request_uri permanent; } index index.php index.html index.htm default.html default.htm; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # deny running scripts inside writable directories location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; error_page 403 /403_error.html; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ /\. { deny all; access_log off; log_not_found off; } location / { try_files $uri $uri/ /index.php?q=$uri&$args; } # caching of files location ~* \.(ico|pdf|flv)$ { expires 1y; } location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ { expires 14d; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Чтобы включить виртуальные хосты, мы создаем символическую ссылку на него из /etc/nginx/sites-enabled/ директорию:
|
Перезагрузить Nginx, чтобы изменения вступили в силу:
|
Далее следует стандартная установка Joomla 1.7 перейдя в браузере по нашему виртуальному хосту http://www.example.com/installation.