Этот учебник покажет вам шаг за шагом, как установить Elgg с Nginx на Ubuntu 14.04 VPS. Elgg является двигателем социальной сети с открытым исходным кодом, который легко установить и настроить, а затем использовать для питания вашей социальной сети.
Этот учебник был протестирован и написана для Ubuntu VPS, но он должен работать на любой основе Debian дистрибутива Linux.
На момент написания этого учебника, Elgg 2.3.0 является последней и рекомендуемой версией, и она требует:
- Apache или Nginx веб-сервер с поддержкой переписывания URL
- PHP (версия 5.5 или выше) с графической библиотекой GD и библиотека расширений MBstring.
- MySQL установлен на вашем (версии 5 или лучше) Linux VPS.
Убедитесь, что ваш список пакетов находятся в актуальном состоянии, выполнив следующие команды:
sudo apt-get update sudo apt-get upgrade
Остановите и удалите службу Apache2:
sudo service apache2 stop sudo apt-get remove apache2 sudo apt-get autoremove
Установите Nginx и MySQL на виртуальном сервере:
sudo apt-get update sudo apt-get install nginx mysql-server
Настройте Nginx для запуска при загрузке:
sudo update-rc.d -f nginx defaults
Установите PHP и модули PHP, необходимые Elgg:
sudo apt-get install php5 php5-cli php5-fpm php5-mysql php5-gd
Загрузите последнюю версию Elgg на https://elgg.org/download.php и загрузить его в каталог “/opt” на вашем сервере:
cd /opt/ wget https://elgg.org/getelgg.php?forward=elgg-2.3.0.zip -O elgg-2.3.0.zip unzip elgg-2.3.0.zip mv elgg-2.3.0 /var/www/elgg/
Рекомендуется использовать сертификат SSL для установки Elgg, поэтому можно взять сертификат SSL от Let’s Encrypt. Сохраните сертификат SSL и его закрытый ключ для файлов с именем ‘file.crt’ и ‘private.key’ соответственно и загрузить их в каталог ‘/etc/nginx’.
Удалить блок сервера Nginx по умолчанию, а затем создайте новый файл конфигурации Nginx и добавьте следующий виртуальный блок для вашего доменного имени:
rm /etc/nginx/sites-enabled/default vi /etc/nginx/sites-available/your-domain.ru.conf
Добавьте следующие строки:
server { listen 80; # Если у вас есть SSL сертификат, раскомментируйте 3 строчки ниже: # listen 443 ssl; # ssl_certificate /etc/nginx/file.crt; # ssl_certificate_key /etc/nginx/private.key; server_name your-domain.ru; root /var/www/elgg/; index index.php index.html index.htm; gzip on; gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/x-javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml; access_log /var/log/nginx/your-domain.ru-access.log; error_log /var/log/nginx/your-domain.ru-error.log; client_max_body_size 8M; location ~ (^\.|/\.) { return 403; } location = /rewrite.php { rewrite ^(.*)$ /install.php; } location / { try_files $uri $uri/ @elgg; } location ~ \.php$ { try_files $uri @elgg; fastcgi_index index.php; fastcgi_pass localhost:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location @elgg { fastcgi_pass localhost:9000; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/index.php; fastcgi_param SCRIPT_NAME /index.php; fastcgi_param QUERY_STRING __elgg_uri=$uri&$args; } }
Не забудьте заменить your-domain.ru на ваше действительное имя домена.
Включите новый конфигурационный файл Nginx:
ln -sf /etc/nginx/sites-available/your-domain.ru.conf /etc/nginx/sites-enabled/
Откройте конфигурационный файл ‘/etc/php5/fpm/pool.d/www.conf‘ и измените переменную ‘listen’:
listen = /var/run/php5-fpm.sock
на
listen = 127.0.0.1:9000;
Проверьте конфигурацию Nginx:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапустите php5-FPM и услугу Nginx для того, чтобы изменения вступили в силу:
sudo service php5-fpm restart sudo service nginx restart
Установите соответствующие права доступа к директории ‘/var/www/Elgg’:
sudo chown www-data:www-data -R /var/www/elgg/
Elgg необходим специальный каталог за пределами корневой директории документов для хранения загруженных файлов, включая иконки профилей и фотографий, так что создать каталог и установить соответствующие разрешения, с помощью следующих команд:
mkdir -p /opt/data chmod 770 /opt/data chown www-data /opt/data
Кроме того, Elgg необходима база данных MySQL, таким образом, создайте нового пользователя MySQL и базу данных:
mysql -u root -p mysql> create database elggdb; mysql> GRANT ALL PRIVILEGES ON elggdb.* TO 'elgguser'@'localhost' IDENTIFIED BY 'Ваш_пароль'; mysql> flush privileges; mysql> quit
Не забудьте заменить ‘Ваш_пароль’ на сильный пароль.
Откройте http://your-domain.ru/install.php в вашем веб – браузере и следуйте инструкциям на экране: введите имя пользователя базы данных, пароль и имя базы данных, имя сайта, адрес электронной почты, каталог данных и создайте аккаунт администратора.
Все. Установка Elgg завершена.