Поиск по сайту:
В нашем деле сдавшихся всегда больше, чем проигравших (А. Герман).

Установить CachetHQ на CentOS 7

13.11.2016
Установить CachetHQ на CentOS 7

На этом уроке мы расскажем, как установить CachetHQ на CentOS 7.1 VPS с MariaDB, PHP-FPM 5.6 и Nginx. CachetHQ является открытой системой, построенной на вершине Laravel 5. Это руководство должно работать на других системах Linux VPS, но была испытана и написана для CentOS 7 VPS.

Войдите на свой VPS через SSH

ssh user@myVPS

Обновите систему и установите необходимые пакеты

[furious]$ sudo yum -y upgrade
[furious]$ sudo yum install git curl

Установите MariaDB

MariaDB 5.5 поставляется по умолчанию с хранилищем CentOS 7, чтобы установить ее, просто запустите:

[furious]$ sudo yum install mariadb-server

Чтобы запустить службу MariaDB и включить ее в автозапуск, выполните следующие команды:

[furious]$ sudo systemctl start mariadb.service
[furious]$ sudo systemctl enable mariadb.service

Выполните следующую команду, чтобы защитить установку:

[furious]$ sudo mysql_secure_installation

Далее, нам необходимо создать базу данных для нашего экземпляра CachetHQ.

[furious]$ mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE cachet;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cachet.* TO 'cachetuser'@'localhost' IDENTIFIED BY 'cachetuser_passwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Установка PHP и Nginx

Nginx не доступен в хранилище CentOS 7 по умолчанию, так мы будем использовать официальный репозиторий Nginx:

[furious]$ sudo rpm -UVh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[furious]$ sudo yum -y install nginx

Включить репозиторий Epel:

[furious]$ sudo yum install epel-release

CentOS 7 поставляется с PHP версии 5.4, чтобы иметь возможность установить последнюю версию PHP, версия 5.6 мы включим репозиторий Webtatic:

[furious]$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Установка PHP 5.6 и все необходимые расширения:

[furious]$ sudo yum install php56w-cli php56w-process php56w-mcrypt php56w-mbstring php56w-common php56w-fpm php56w-xml php56w-opcache php56w-pecl-apcu php56w-pdo php56w-mysqlnd

Установите Composer

Composer является менеджером зависимостей для PHP, с помощью которого можно установить пакеты. Composer будет тянуть все необходимые библиотеки и зависимости, необходимые для вашего проекта.

[furious]$ curl -sS https://getcomposer.org/installer | php
[furious]$ sudo mv composer.phar /usr/local/bin/composer

Установить узел Gulp и Bower

Нам нужно установить Gulp и Bower.

[furious]$ sudo yum install -y nodejs npm
[furious]$ sudo npm install -g bower
[furious]$ sudo npm install -g gulp

Установите CachetHQ

Создайте корневой каталог для вашего приложения.

[furious]$ mkdir -p ~/CachetHQ

Клонируйте репозиторий проекта из GitHub:

[furious]$ git clone https://github.com/cachethq/Cachet.git ~/CachetHQ
[furious]$ cd  ~/CachetHQ

Установите все зависимости:

[furious]$ composer install --no-dev -o

Скопируйте файл .env.example .env

[furious]$ cp .env.example .env

Сгенерируйте  и установите ключ приложения:

[furious]$ php artisan key:generate

и отредактируйте соответствующие значения:

[furious]$ vim .env
APP_ENV=production
APP_DEBUG=false
APP_URL=http://localhost
APP_KEY=SomeRandomString

DB_DRIVER=mysql
DB_HOST=localhost
DB_DATABASE=cachet
DB_USERNAME=cachetuser
DB_PASSWORD=cachetuser_passwd

CACHE_DRIVER=apc
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null

Запуск миграции базы данных и заполнения базы данных с данными выборки:

[furious]$ php artisan migrate
[furious]$ php artisan db:seed

Постойте активы:

[furious]$ npm install
[furious]$ bower install
[furious]$ gulp

Настройка Nginx и PHP

Создайте новый пул PHP-FPM для вашего пользователя:

[furious]$ sudo vim /etc/php-fpm.d/your_users.conf
[your_user]
user = ваш_пользователь
group = ваш_пользователь
listen = /var/run/php-fpm/your_user.sock  
listen.owner = ваш_пароль
listen.group = ваш_пользователь 
listen.mode = 0666  
pm = ondemand  
pm.max_children = 5  
pm.process_idle_timeout = 10s;  
pm.max_requests = 200  
chdir = /

Не забудьте изменить ваш_пользователь на ваше имя пользователя.

Перезапустите PHP-FPM

[furious]$ sudo systemctl restart php-fpm.service

Генерация сертификата SSL:

[furious]$ sudo mkdir -p /etc/nginx/ssl
[furious]$ cd /etc/nginx/ssl
[furious]$ sudo openssl genrsa -des3 -passout pass:x -out cachet.pass.key 2048
[furious]$ sudo openssl rsa -passin pass:x -in cachet.pass.key -out cachet.key
[furious]$ sudo rm cachet.pass.key
[furious]$ sudo openssl req -new -key cachet.key -out cachet.csr
[furious]$ sudo openssl x509 -req -days 365 -in cachet.csr -signkey cachet.key -out cachet.crt

Затем создайте новый блок сервера Nginx:

[furious]$ sudo vim /etc/nginx/sites-available/CachetHQ.conf
server {
    listen      443 default;
    server_name CachetHQ;

    ssl on;
    ssl_certificate     /etc/nginx/ssl/cachet.crt;
    ssl_certificate_key /etc/nginx/ssl/cachet.key;
    ssl_session_timeout 5m;

    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    root /home/your_user/CachetHQ/public;

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log  /var/log/nginx/cachet.access.log;
    error_log   /var/log/nginx/cachet.error.log;

    sendfile off;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm/your_user.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
        deny all;
    }
}

server {
    listen      80;
    server_name CachetHQ;

    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

Не забудьте изменить your_user на имя вашего пользователя.

И, наконец, перезапустите Nginx:

[furious]$ sudo systemctl restart nginx.service

Вот и все. Вы успешно установили CachetHQ на вашем Centos 7 VPS. Если вы не измените имя пользователя и пароль по умолчанию, вы можете войти в систему с ‘test@test.com~~pobj’ и ‘test123’.

Для получения дополнительной информации о CachetHQ, пожалуйста , обратитесь на сайт CachetHQ.

Установить CachetHQ на CentOS 7

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

Спасибо!

Теперь редакторы в курсе.