понедельник, 3 октября 2016 г.

linux debian 8, Joomla + MONGODB php5-fpm nginx postgresql php5-pgsql

Сперва нам необходимо установить вебсервер с поддержкой PHP и postgresql

  • # apt-get install -y php5-fpm nginx postgresql php5-pgsql php5-mcrypt php5-gd
Скачаем последнюю версию Joomla 
  • # cd /srv                 //папка в корне linux
  • # wget https://github.com/joomla/joomla-cms/releases/download/3.6.2/Joomla_3.6.2-Stable-Full_Package.zip     //скачиваем joomla
  • # unzip Joomla_3.6.2-Stable-Full_Package.zip -d joomla //распакуем жумлу в папку joomla 
  • # chown -R www-data:www-data joomla    //зададим права группе пользователей www-data 
НАСТРОЙКА БАЗЫ ДАННЫХ POSTGRESQL

Нам необходимо сделать 2 шага, создать пользователя (Пример: user-joomla) и базу данных для joomla (db-joomla). Делаем под пользователем postgres (пользователь БД)

  • # su postgres   //входим под пользователем postgres 
  • # createuser user-joomla --pwprompt --encrypted  //создаем пользователя user-joomla и пароль шифруем
  • # createdb db-joomla    //создаем базу данных

НАСТРОЙКА NGINX

Создадим файл-настроек joomla для nginx по пути
  • # /etc/nginx/sites-available    //пусть где будет лежать файл настроек
  • # nano joomla     //файл настроек
  • Содержимое файла
#vim /etc/nginx/sites-available/joomla server { listen 80; server_name joomla.lan; access_log /var/log/nginx/localhost.access.log; error_log /var/log/nginx/localhost.error.log; root /srv/joomla; index index.php index.html index.htm default.html default.htm; # Support Clean (aka Search Engine Friendly) URLs location / { try_files $uri $uri/ /index.php?$args; } # 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; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi.conf; } # caching of files location ~* \.(ico|pdf|flv)$ { expires 1y; } location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ { expires 14d; } }

  • ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/ //создадим символическую ссылку на файл настроек
  • # rm /etc/nginx/sites-enabled/default  //Удалим ссылку на настройку по умолчанию
Добавим настройку FastCGI - откроем файл по пути /etc/nginx
  • # nano /etc/nginx/fastcgi.conf   //файл настроек
  • Заменим текст тот, что есть:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  PATH_INFO  $fastcgi_path_info;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Добавим разрешение на загрузку файлов до 100MB на  сайт максимум

  • # nano /etc/nginx/nginx.conf    //откроем файл и добавим в директиву HTTP
  • client_max_body_size 100m;  //это даст нам возможность устанавливать плагины и шаблоны в joomla
  • # nano /etc/nginx/cli/php.ini //Находим строку upload_max_filesize и ставим 20М 
  • # nano /etc/nginx/fpm/php.ini //Находим строку upload_max_filesize и ставим 20М 
  • Все по тем-же причинам

Устанавливаем MONGODB

  • //Импортируем публичный ключ.
  • # apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
  • Подключаем репозиторий
  • # echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list
  • Обновляем информацию
  • # apt update
  • # apt install mongodb-10gen //устанавливаем mongodb
  • # apt install php-pear php5-dev php5-cli//установка php драйверов для mongo
  • # pecl install mongo   //установка драйверов
  • # service mongodb start //стартуем приложение баз данных
  • # mongod --version  //смотрим версию mongodb
  • # nano /etc/mongodb //конфигурационный файл
найдите ваш файл php.ini, и добавьте туда следующий отрывок кода:

extension=mongo.so

Вы должны заметить похожий блок кода где-то в середине файла, который имеет несколько других строк с повторяющимся extension=name. Большинство расширений ограничены комментарием, но строки без символа # представляют собой на данный момент активные расширения.

После того, как вы добавили эту строку, сохраните и закройте файл, затем перезагрузите ваш веб-сервер apache, чтобы изменения вступили в силу.

Делаем связь Joomla Mongogb - читаем здесь

Осталось добавить доменное имя сайта в HOSTS
  • # nano etc/hosts
192.168.4.8     joomla.domain.lan        joomla


Комментариев нет:

Отправить комментарий