En este tutorial, explicaremos cómo instalar CachetHQ en un VPS CentOS 7.1 con MariaDB, PHP-FPM 5.6 y Nginx. CachetHQ es un sistema de página de estado de código abierto construido sobre Laravel 5. Esta guía también debería funcionar en otros sistemas Linux VPS, pero fue probada y escrita para CentOS 7 VPS.
1. Inicie sesión en su VPS a través de SSH
ssh user@myVPS
2. Actualice el sistema e instale los paquetes necesarios
[user]$ sudo yum -y upgrade [user]$ sudo yum install git curl
3. Instalar MariaDB
MariaDB 5.5 se envía en el repositorio predeterminado de CentOS 7, para instalarlo simplemente ejecute:
[user]$ sudo yum install mariadb-server
Para iniciar el servicio MariaDB y permitir que se inicie en el arranque, ejecute los siguientes comandos:
[user]$ sudo systemctl start mariadb.service [user]$ sudo systemctl enable mariadb.service
Ejecute el siguiente comando para asegurar su instalación:
[user]$ sudo mysql_secure_installation
A continuación, debemos crear una base de datos para nuestra instancia de CachetHQ.
[user]$ 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
4. Instalar PHP y Nginx
Nginx no está disponible en el repositorio predeterminado de CentOS 7, por lo que utilizaremos el repositorio oficial de Nginx:
[user]$ sudo rpm -UVh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm [user]$ sudo yum -y install nginx
Habilitar el repositorio EPEL:
[user]$ sudo yum install epel-release
CentOS 7 viene con PHP versión 5.4, para poder instalar la última versión de PHP, versión 5.6 habilitaremos el repositorio Webtatic:
[user]$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Instale PHP 5.6 y todas las extensiones necesarias:
[user]$ 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
5. Instalar compositor
Composer es un administrador de dependencias para PHP con el que puedes instalar paquetes. Composer extraerá todas las bibliotecas y dependencias requeridas que necesita para su proyecto.
[user]$ curl -sS https://getcomposer.org/installer | php [user]$ sudo mv composer.phar /usr/local/bin/composer
6. Instale Node Gulp y Bower
Necesitamos a Gulp y Bower para construir los activos.
[user]$ sudo yum install -y nodejs npm [user]$ sudo npm install -g bower [user]$ sudo npm install -g gulp
7. Instalar CachetHQ
Cree un directorio raíz para su aplicación.
[user]$ mkdir -p ~/CachetHQ
Clona el repositorio del proyecto desde GitHub:
[user]$ git clone https://github.com/cachethq/Cachet.git ~/CachetHQ [user]$ cd ~/CachetHQ
Instalar todas las dependencias:
[user]$ composer install --no-dev -o
Copie el archivo .env.example a .env
[user]$ cp .env.example .env
generar y configurar la clave de la aplicación:
[user]$ php artisan key:generate
y edite los valores apropiados:
[user]$ 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
Ejecute migraciones de base de datos y genere la base de datos con datos de muestra:
[user]$ php artisan migrate [user]$ php artisan db:seed
Crear activos:
[user]$ npm install [user]$ bower install [user]$ gulp
8. Configurar Nginx y PHP
Cree un nuevo grupo de PHP-FPM para su usuario:
[user]$ sudo vim /etc/php-fpm.d/your_user.conf
[your_user] user = your_user group = your_user listen = /var/run/php-fpm/your_user.sock listen.owner = your_user listen.group = your_user listen.mode = 0666 pm = ondemand pm.max_children = 5 pm.process_idle_timeout = 10s; pm.max_requests = 200 chdir = /
No olvides cambiar your_user con tu nombre de usuario.
Reiniciar PHP-FPM
[user]$ sudo systemctl restart php-fpm.service
Generar certificado SSL:
[user]$ sudo mkdir -p /etc/nginx/ssl [user]$ cd /etc/nginx/ssl [user]$ sudo openssl genrsa -des3 -passout pass:x -out cachet.pass.key 2048 [user]$ sudo openssl rsa -passin pass:x -in cachet.pass.key -out cachet.key [user]$ sudo rm cachet.pass.key [user]$ sudo openssl req -new -key cachet.key -out cachet.csr [user]$ sudo openssl x509 -req -days 365 -in cachet.csr -signkey cachet.key -out cachet.crt
A continuación, cree un nuevo bloque de servidor Nginx:
[user]$ 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; }
No olvides cambiar your_user con tu nombre de usuario.
Finalmente, reinicie nginx:
[user]$ sudo systemctl restart nginx.service
Eso es todo. Ha instalado con éxito CachetHQ en su Centos 7 VPS. Si no ha cambiado el usuario y la contraseña predeterminados antes de la inicialización, puede iniciar sesión con '[email protected]' y 'test123'.
Para obtener más información sobre CachetHQ, consulte el sitio web de CachetHQ.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento CentOS VPS, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD . Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.