ZENLIX.docs
Search…
Базовая инсталляция
На примере OS Ubuntu 18.04 server
Для начала, нам необходимы следующие ресурсы:
  • 1Gb RAM
  • 10Gb HDD
  • 1 Core CPU
Если Вы используете DigitalOcean, то самый минимальный droplet подойдёт для небольшого к-ва пользователей (до 20).
Необходимо обновить дерево пакетов:
1
$ sudo apt-get update
Copied!
Установим пакет поддержки build-essential:
1
$ sudo apt install -y build-essential
Copied!
Добавим пользователя zenlix:
1
$ sudo adduser zenlix
2
$ sudo usermod -aG sudo zenlix
Copied!
Установим nginx:
1
$ sudo apt install nginx
Copied!
Установим MySQL:
1
$ sudo apt install mysql-server
Copied!
Сконфигурируем сервер:
1
$ sudo mysql_secure_installation
Copied!
В процессе скрипт спросит о конфигурации VALIDATE PASSWORD PLUGIN, на что можно ответить отрицательно (на Ваше усмотрение)
Далее задайте пароль для root-пользователя.
В MySQL 5.7 и выше, по-умолчанию используется auth_socket плагин. Если Вы планируете подключаться под root из терминала, то необходимо изменить метод аутентификации auth_socket на mysql_native_password.
Меняем тип авторизации:
1
$ sudo mysql -u root -p
2
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
3
mysql> FLUSH PRIVILEGES;
Copied!
Создадим базу данных:
1
mysql> create database zenlix;
2
mysql> exit;
Copied!
Установим PHP и все необходимые модули:
1
$ sudo apt install -y php-fpm php-mysql php-mcrypt mcrypt \
2
php-zip php-curl php-gd php-ldap php-imap php-mbstring php-dom
Copied!
Перейдем к конфигурированию nginx:
1
$ sudo nano /etc/nginx/sites-enabled/default
Copied!
1
server {
2
3
listen 80 default_server;
4
listen [::]:80 default_server;
5
root /home/zenlix/zenlix/public;
6
index index.html index.htm index.nginx-debian.html index.php;
7
client_max_body_size 256M;
8
#Change server name
9
server_name example.com;
10
11
location / {
12
try_files $uri $uri/ /index.php?$query_string;
13
}
14
15
location /socket.io {
16
proxy_set_header Upgrade $http_upgrade;
17
proxy_set_header Connection "upgrade";
18
proxy_http_version 1.1;
19
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
20
proxy_set_header Host $host;
21
proxy_pass http://127.0.0.1:3001/socket.io/;
22
}
23
24
location ~ \.php$ {
25
include snippets/fastcgi-php.conf;
26
fastcgi_param SERVER_NAME $host;
27
# Change PHP-fpm version
28
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
29
}
30
}
Copied!
Определим пользователя, под которым работает nginx в файле: nginx.conf
1
$ sudo nano /etc/nginx/nginx.conf
Copied!
1
...
2
user zenlix;
3
...
Copied!
А так же исправим на пользователя в файле www.conf:
1
$ sudo nano /etc/php/7.2/fpm/pool.d/www.conf
Copied!
1
user = zenlix
2
group = zenlix
3
listen.owner = zenlix
4
listen.group = zenlix
5
php_admin_value[post_max_size] = 2G
6
php_admin_value[upload_max_filesize] = 1G
7
php_admin_value[memory_limit] = 2G
Copied!
Перезапустим службы:
1
$ sudo nginx -t
2
$ sudo systemctl reload nginx
3
$ sudo service php-fpm restart
Copied!
Установим REDIS:
1
$ wget http://download.redis.io/releases/redis-stable.tar.gz
2
$ tar xzf redis-stable.tar.gz
3
$ cd redis-stable
4
$ make
5
$ sudo make install
6
$ cd utils
7
$ sudo ./install_server.sh
8
$ sudo update-rc.d redis_6379 defaults
Copied!
Установим NodeJS:
1
$ sudo apt install -y nodejs npm
2
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
Copied!
Инсталлируем ZENLIX
1
$ cd ~/
2
$ mkdir zenlix
3
$ cd zenlix
4
$ git init .
5
$ git pull "https://<LICENSE-LOGIN>:<LICENSE-PASSWORD>@git.zenlix.com/snisar/zenlix35.git" master
6
$ chmod -R +w ./storage/*
7
$ chmod -R +w ./bootstrap/*
8
$ chmod -R +w ./nodejs/*
9
$ php artisan zenlix:install
Copied!
Настроим микросервис NodeJS и запустим zenserver:
1
$ sudo npm install dotenv --save -g
2
$ sudo npm install pm2 -g
3
$ sudo npm install socket.io ioredis dotenv
4
$ sudo pm2 start server.js -n zenserver --watch /home/zenlix/zenlix/nodejs
5
$ sudo pm2 startup
6
$ sudo pm2 save
7
$ sudo pm2 install pm2-logrotate
Copied!
Добавим задачу в Cron:
1
$ (crontab -l ; echo "* * * * * /usr/bin/php /home/zenlix/zenlix/artisan schedule:run >> /dev/null 2>&1")| crontab -
Copied!
Установим и настроим supervisor:
1
$ sudo apt install supervisor
2
$ echo "
3
[program:zenlix-worker]
4
process_name=%(program_name)s_%(process_num)02d
5
command=/usr/bin/php /home/zenlix/zenlix/artisan queue:work --sleep=3 --tries=3 --daemon
6
autostart=true
7
autorestart=true
8
user=zenlix
9
numprocs=8
10
" | sudo tee --append /etc/supervisor/conf.d/zenlix-worker.conf
Copied!
Перезапустим сервисы:
1
$ sudo supervisorctl reread
2
$ sudo supervisorctl update
3
$ sudo supervisorctl start zenlix-worker:*
Copied!
Система готова к работе.
Last modified 1yr ago
Copy link