Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

JoomlaЭтот урок показывает, как можно установить и запустить 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 сервер установки, как показано на эти учебники:

Далее делаем следующее:

Примечание для пользователей Ubuntu:

Так как мы мы должны выполнить все шаги из этого учебника с привилегиями суперпользователя (root), мы можем либо выполнять все команды в этом руководстве со строкой sudo , или мы становимся root прямо сейчас, введя команду:

  • sudo su

Установка APC

APC является свободным и открытым PHP кодом cacher для кэширования и оптимизации промежуточного кода PHP. Он похож на другие машинные PHP коды кэширования, таких как Eaccelerator и XCache. Настоятельно рекомендуется, чтобы один из них был установлен, для ускорения Ваших PHP-страниц.

APC может быть установлен следующим образом:

  • apt-get install php-apc

Если Вы используете PHP-FPM как Ваш FastCGI демон (как в Установка Nginx с PHP5 (и PHP-FPM) и поддержкой MySQL в Ubuntu 11.10), перезагрузите его следующим образом:

  • /etc/init.d/php5-fpm restart

Если вы используете spawn-fcgi программу Lighttpd в качестве FastCGI демона (как в Установка Nginx с PHP5 (и PHP-FPM) и поддержкой MySQL в Debian Squeeze), мы должны убить текущий spawn-fcgi процесс (работающий на порту 9000) и создать новый. Запустив:

  • netstat -tap

, чтобы узнать PID текущего spawn-fcgi процесса:

  • netstat -tap
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 , поэтому мы можем убить текущий процесс следующим образом:

  • kill -9 1542

Затем мы создаем новую spawn-fcgi процесс:

  • /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

Установка Joomla

Корневой директирией сайта моего www.example.com хоста является /var/www/www.example.com/web - если она не существует, создайте его следующим образом:

  • mkdir -p /var/www/www.example.com/web

Так как, Joomla поставляется в виде архива, нам нужно установить unzip:

  • apt-get install unzip

Далее мы скачать Joomla из http://www.joomla.org/download.html и поместим его в наш корневой каталог:

  • cd /tmp
  • mkdir joomla
  • cd joomla
  • wget http://joomlacode.org/gf/download/frsrelease/16024/69674/Joomla_1.7.3-Stable-Full_Package.zip
  • unzip Joomla_1.7.3-Stable-Full_Package.zip
  • rm -f Joomla_1.7.3-Stable-Full_Package.zip
  • mv * /var/www/www.example.com/web/

Рекомендуется, чтобы сделать что бы корневой каталог и файлы Joomla в ней были доступны для записи Nginx демоном, который работает как пользователь www-data в группе www-data:

  • chown -R www-data:www-data /var/www/www.example.com/web

Если Вы еще не создали базу данных MySQL для Joomla (в том числе пользователя MySQL для Joomla), Вы можете сделать это следующим образом (я назову базу данных joomla в этом примере, а пользователь называю joomla_admin, и его пароль joomla_admin_password):

  • mysqladmin -u root -p create joomla
  • mysql -u root -p
  • GRANT ALL PRIVILEGES ON joomla.* TO 'joomla_admin'@'localhost' IDENTIFIED BY 'joomla_admin_password';
  • GRANT ALL PRIVILEGES ON joomla.* TO 'joomla_admin'@'localhost.localdomain' IDENTIFIED BY 'joomla_admin_password';
  • FLUSH PRIVILEGES;
  • quit;

Далее мы создадим Nginx конфигурацию виртуального хоста для нашего www.example.com виртуального хоста в /etc/nginx/sites-available/ следующим образом:

  • nano /etc/nginx/sites-available/www.example.com.vhost
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/ директорию:

  • cd /etc/nginx/sites-enabled/
  • ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

Перезагрузить Nginx, чтобы изменения вступили в силу:

  • /etc/init.d/nginx reload

Далее следует стандартная установка Joomla 1.7 перейдя в браузере по нашему виртуальному хосту http://www.example.com/installation.