Anchor è un blog CMS open source leggero scritto in PHP. Il codice sorgente di Anchor è ospitato su GitHub . Questa guida ti mostrerà come installare Anchor CMS su una nuova istanza Vultr di CentOS 7 LTS.
Requisiti
Assicurarsi che il server soddisfi i seguenti requisiti.
- MySQL 5.2+
- PHP 5.6+
- Estensioni PHP:
curl
mcrypt
gd
php-mbstring
pdo\_mysql
o pdo\_sqlite
NOTA : se non si dispone dei requisiti necessari, non sarà possibile installare Anchor .
Prima di iniziare
Controlla la versione del sistema operativo.
cat /etc/centos-release
# CentOS Linux release 7.4.1708 (Core)
Crea un nuovo non-root
account utente con sudo
accesso e passa ad esso.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA : sostituisci johndoe
con il tuo nome utente.
Imposta il fuso orario.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Assicurati che il tuo sistema sia aggiornato.
sudo yum update -y
Installa i pacchetti necessari e utili.
sudo yum install -y wget vim unzip bash-completion
Disabilita SELinux.
sudo setenforce 0
Passaggio 1: installare NGINX
Anchor CMS funzionerà perfettamente con Apache o NGINX. In questo tutorial, utilizzeremo il software NGINX più recente.
Diventa un root
utente per un momento,
sudo su - root
Crea un nuovo file nginx_mainline.repo
, nella /etc/yum.repos.d/
directory.
cat > /etc/yum.repos.d/nginx_mainline.repo
Quindi copia / incolla le seguenti righe nella finestra del tuo terminale e premi CTRL+ D.
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
Disconnettersi root
dall'utente.
exit
Scarica la chiave PGP del repository NGINX.
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
Installa NGINX.
sudo yum install -y nginx
Avviare e abilitare NGINX.
sudo systemctl enable nginx.service && sudo systemctl start nginx.service
Passaggio 2: installare MySQL o MariaDB
Anchor supporta database MySQL e SQLite. In questo tutorial, tuttavia, utilizzeremo il database MariaDB, che è un calo in sostituzione di MySQL.
Creare un repository MariaDB YUM per CentOS.
sudo vim /etc/yum.repos.d/MariaDB.repo
Copia / incolla quanto segue in esso.
# MariaDB 10.2 CentOS repository list - created 2017-12-11 23:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Dopo che il file è a posto, installare MariaDB.
sudo yum install -y MariaDB-server MariaDB-client
Avviare e abilitare MariaDB.
sudo systemctl enable mariadb.service && sudo systemctl start mariadb.service
Esegui lo mysql_secure_installation
script per migliorare la sicurezza dell'installazione di MariaDB e impostare la root
password dell'utente.
sudo mysql_secure_installation
L'ultimo passo è creare un nuovo database e utente per Anchor CMS.
Accedi a MariaDB.
mysql -u root -p
Creare il database e l'utente.
CREATE DATABASE db_name;
GRANT ALL ON db_name.* TO 'user' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Uscita da MariaDB.
exit
Passaggio 3: installa PHP e le estensioni PHP richieste
CentOS non fornisce le versioni PHP più recenti nei suoi repository software predefiniti. Dovremo aggiungere un repository YUM Webtatic. Segui questa guida Vultr per istruzioni al riguardo.
Installa le estensioni PHP 7.2 e PHP richieste.
sudo yum install -y php72w-cli php72w-fpm php72w-mbstring php72w-curl php72w-mysql php72w-sqlite3 php72w-mcrypt php72w-gd php72w-dom
Controlla la versione di PHP.
php --version
# PHP 7.2.2 (cli) (built: Feb 4 2018 10:14:07) ( NTS )
Abilita e avvia php-fpm.service
.
sudo systemctl enable php-fpm.service && sudo systemctl start php-fpm.service
Eseguilo sudo vi /etc/nginx/conf.d/anchor.conf
e popolalo con la seguente configurazione.
server {
listen 80;
server_name example.com;
root /var/www/anchor;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Testare la configurazione NGINX.
sudo nginx -t
Ricarica NGINX.
sudo systemctl reload nginx.service
Passaggio 5: scaricare e installare Composer
Per installare correttamente Anchor, dovremo installare Composer.
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
Controlla la versione di Composer.
composer --version
# Composer version 1.6.3 2018-01-31 16:28:17
Passaggio 6: scaricare e installare Anchor CMS
Creare una directory radice del documento.
sudo mkdir -p /var/www/anchor
Cambia la proprietà della /var/www/anchor
directory in johndoe
.
sudo chown -R johndoe:johndoe /var/www/anchor
Vai alla directory principale del documento.
cd /var/www/anchor
Scarica l'ultima versione di Anchor CMS.
composer create-project anchorcms/anchor-cms .
Cambia la proprietà della /var/www/anchor
directory in nginx
.
sudo chown -R nginx:nginx /var/www/anchor
Apri /etc/php-fpm.d/www.conf
e imposta l'utente e il gruppo su nginx
.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Riavvia php-fpm.service
.
sudo systemctl restart php-fpm.service
Crea /var/lib/php/session/
e modifica la proprietà per l'utente nginx
.
sudo mkdir -p /var/lib/php/session/ && sudo chown -R nginx:nginx /var/lib/php/session/
Utilizzando il tuo browser preferito, apri il tuo sito e segui il programma di Anchor CMS
installazione. Dopo aver seguito il programma di installazione avrai Anchor attivo e funzionante. Per accedere all'area di amministrazione di Anchor basta aggiungere /admin
l'URL del sito. Per motivi di sicurezza, eliminare la /var/www/anchor/install
directory al termine dell'installazione.