Requisits
Instal·leu PHP i les extensions necessàries
Instal·leu MySQL/MariaDB i creeu una base de dades
Instal·leu i configureu NGINX
Baixeu i instal·leu Composer
Baixeu i instal·leu PyroCMS mitjançant Composer
PyroCMS és un CMS de codi obert escrit en PHP. El codi font de PyroCMS està allotjat a GitHub . En aquesta guia, recorrerem tot el procés d'instal·lació de PyroCMS en una instància de CentOS 7 Vultr.
Requisits
Abans de poder instal·lar PyroCMS en un servidor, cal complir uns quants requisits.
- 1 GB de RAM
- pila LEMP/LAMP
- PHP >= 7.0
- Extensió PHP PDO
- Extensió PHP cURL
- Extensió PHP SQLite
- Extensió PHP OpenSSL
- Extensió PHP Mbstring
- Fileinfo Extensió PHP
- Extensió PHP de Tokenizer
- Biblioteca GD (>=2.0) O extensió PHP Imagick (>=6.5.7)
Comproveu la versió de CentOS.
cat /etc/centos-release
# CentOS Linux release 7.4.1708 (Core)
Creeu un non-rootcompte d'usuari nou amb sudoaccés i canvieu-hi.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA : Substituïu-lo johndoepel vostre nom d'usuari .
Configura la zona horària.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Assegureu-vos que el vostre sistema estigui actualitzat.
sudo yum update -y
Instal·leu els paquets necessaris i útils.
sudo yum install -y wget vim unzip bash-completion
Desactiva SELinux.
sudo setenforce 0
Instal·leu PHP i les extensions necessàries
CentOS no proporciona la darrera versió de PHP als seus repositoris de programari predeterminats. Haurem d'afegir un repositori Webtatic YUM. Les instruccions sobre com afegir el repo estan disponibles en aquesta guia de Vultr .
Baixeu i instal·leu PHP 7.2 i les extensions PHP necessàries.
sudo yum install -y php72w php72w-cli php72w-fpm php72w-mysql php72w-curl php72w-sqlite3 php72w-mbstring php72w-gd php72w-dom
Comproveu la versió de PHP.
php --version
PHP 7.2.2 (cli) (built: Feb 4 2018 10:14:07) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Instal·leu MySQL/MariaDB i creeu una base de dades
Baixeu i instal·leu MariaDB.
sudo vim /etc/yum.repos.d/MariaDB.repo
# Copy/paste this to the /etc/yum.repos.d/MariaDB.repo file
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
sudo yum install -y MariaDB-server MariaDB-client
Comproveu la versió de MariaDB.
mysql --version
# mysql Ver 15.1 Distrib 10.2.13-MariaDB, for Linux (x86_64) using readline 5.1
Inicieu i activeu MariaDB.
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
Executeu l' mysql_secure_installationscript per millorar la seguretat de la vostra instal·lació de MariaDB.
sudo mysql_secure_installation
Inicieu sessió a MariaDB com a usuari root.
mysql -u root -p
# Enter password:
Creeu una base de dades i un usuari MariaDB nous i recordeu les credencials.
create database dbname;
grant all on dbname.* to 'username' identified by 'password';
Sortiu de MySQL.
exit
Instal·leu NGINX.
sudo vim /etc/yum.repos.d/nginx_mainline.repo
# Copy/paste this to the /etc/yum.repos.d/nginx_mainline.repo file
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
sudo yum install -y nginx
Comproveu la versió de NGINX.
nginx -v
Inicieu i activeu NGINX.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Configureu NGINX com a servidor intermediari FastCGI. Executeu-lo sudo vim /etc/nginx/conf.d/pyro.confi empleneu-lo amb el text següent.
server {
listen 80;
server_name example.com; # Check this
root /var/www/pyro/public; # Check this
index index.php index.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # Check this
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
NOTA : Assegureu-vos d'apuntar l'arrel web al publicdirectori de Pyro .
Proveu la configuració de NGINX.
sudo nginx -t
Torna a carregar NGINX.
sudo systemctl reload nginx.service
Baixeu i instal·leu Composer
Baixeu les dependències de Composer.
sudo yum install -y curl git unzip
Baixeu i instal·leu Composer, el gestor de dependències de PHP.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Comproveu la versió de Composer.
composer --version
# Composer version 1.6.3 2018-01-31 16:28:17
Baixeu i instal·leu PyroCMS mitjançant Composer
Creeu un directori arrel del document.
sudo mkdir -p /var/www/pyro
Canvieu la propietat del /var/www/pyrodirectori a johndoe.
sudo chown -R johndoe:johndoe /var/www/pyro
Baixeu la darrera versió estable de PyroCMS des de la línia d'ordres.
cd /var/www/pyro
composer create-project pyrocms/pyrocms .
NOTA : És possible que us quedeu sense memòria quan instal·leu Pyro mitjançant Composer. Pot ser aconsellable aturar els servidors Nginx, PHP-FPM i MySQL sudo systemctl stop nginx.service php-fpm.service mysql.serviceper estalviar l'ús de memòria i tornar-los a iniciar després d'aquest pas .
Canvieu la propietat del /var/www/pyrodirectori a nginx.
sudo chown -R nginx:nginx /var/www/pyro
Executeu sudo vim /etc/php-fpm.d/www.confi configureu l'usuari i el grup a nginx.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Reinicieu el php-fpm.service.
sudo systemctl restart php-fpm.service
Utilitzant el vostre navegador web preferit, obriu el vostre lloc i seguiu l'instal·lador de PyroCMS. Després de seguir l'instal·lador, tindreu PyroCMS en funcionament. Per accedir a l'àrea d'administració de PyroCMS, afegiu /admin-lo a l'URL del vostre lloc.