Come installare WordPress in locale: Arch Linux

by Feb 23, 2016Guide e Tool0 comments

La maniera più comoda e sicura per lavorare su un progetto web è chiaramente realizzare un ambiente di sviluppo in locale. Oggi ti mostrerò in maniera molto semplice come Installare WordPress Locale su Arch Linux. I passaggi e i comandi che sono presenti in questa guida sono indirizzati agli utenti Arch ma, con alcuni accorgimenti possono essere usati su qualsiasi distribuzione linux.

Come Installare WordPress Locale su Arch Linux

Arch è una distribuzione Linux davvero formidabile, parca in termini di risorse e supportata da una community sempre presente e disponibile, ma soprattutto possiede un repository gestito e mantenuto dalla community che contiene davvero qualsiasi strumento utile per lo sviluppo web.
Prerequisito fondamentale per seguire questa guida è aggiungere AUR (Arch User Repository) alla vostra lista dei repository. Per farlo è necessario modificare il file /etc/pacman.conf con i permessi da super utente ed inserire appunto il nuovo repository.

[dt_code]

[archlinuxfr]

SigLevel = Never

Server = https://repo.archlinux.fr/$arch

[/dt_code]

Salviamo e chiudiamo il file.
Usando il terminale lanciamo il seguente comando:

[dt_code]sudo pacman -Syy && sudo pacman -S yaourt && yaourt -S yaourt-gui[/dt_code]

Al termine dell’installazione avremo a disposizione yaourt-gui che è una comoda interfaccia grafica per l’installazione dei pacchetti presenti su AUR.
Passiamo adesso alla configurazione vera e propria del nostro ambiente di sviluppo.

Creare un Virtual Hostname

Creiamo un host virtuale che reindirizza tutte le connessioni che utilizzano quel nome host al nostro sito web wordpress. Questo è relativamente semplice da realizzare in Arch (ma è valido per tutte le distribuzioni Linux),  tutto quello che dobbiamo fare è aprire /etc/hosts col nostro editor preferito e aggiungere un secondo nome host per host locale (127.0.0.1). Io nell’esempio ho usato www.mydomain.com , ma è possibile personalizzare il link senza problemi.
Come installare WordPress - host file
A modifica terminata il nostro sito sarà raggiungibile all’indirizzo che avremo indicato nel file hosts.

Installare l’ambiente LAMP (Linux Apache MySQL PHP) più WordPress

L’ambiente LAMP altro non è che l’ambiente di sviluppo su cui poggerà il nostro sito in WordPress. Possiamo installare entrambi rapidamente con il seguente comando:

[dt_code]sudo pacman -S apache mariadb php php-{apache,gd} wordpress[/dt_code]

Modificare i premessi della cartella WordPress

Per poter apportare modifiche al nostro sito e garantire il corretto funzionamento di WordPress, è necessario cambiare i permessi della directory wordpress dalla radice alla http. Possiamo farlo con questo comando in un terminale:

[dt_code]sudo chown http:http /usr/share/webapps/wordpress -R[/dt_code]

Modificare il file di configurazione di PHP

PHP come impostazione predefinita ha il supporto MySQL disattivato, perovviare a questo “problema” è necessario togliere il commento alle estensioni che caricano le librerie necessarie. Apriamo il file /etc/php/php.ini e troviamo la riga che contiene ;extension=mysqli.so e ;extension=gd.so. Come al solito usate l’editor di testo che preferite. In alternativa è possibile modificare il file php.ini con due comandi da terminale:

[dt_code]

sudo sed ‘s/;extension=mysqli.so/extension=mysqli.so/g’ -i /etc/php/php.ini

sudo sed ‘s/;extension=gd.so/extension=gd.so/g’ -i /etc/php/php.ini

[/dt_code]

Configurazione di Apache

Il file di configurazione di Apache per Arch Linux è /etc/httpd/conf/httpd.conf. Le modifiche da fare qui ci permetteranno di caricare il modulo PHP  e includere il file di configurazione di WordPress. Come prima cosa,  è necessario trovare e commentare la riga che contiene:

[dt_code]LoadModule mpm_event_module modules/mod_mpm_event.so[/dt_code]

adesso invece togliamo il commento alla riga:

[dt_code]LoadModule mpm_prefork_module modules/mod_mpm_prefork.so[/dt_code]

per gli amanti della riga di comando è possibile eseguire questa modifica direttamente da terminale:

[dt_code]sudo sed ‘s/mpm_event_module modules\/mod_mpm_event.so/mpm_prefork_module modules\/mod_mpm_prefork.so/g’ -i /etc/httpd/conf/httpd.conf[/dt_code]

Fatte queste modifiche, portiamoci in fondo alla sezione LoadModule (siamo sempre nel file httpd.conf) e aggiungiamo il supporto a PHP. Qui avete due opzioni, usare PHP5 oppure PHP7 , dipende da quale versione avete installato sul vostro sistema. Potete scoprirlo rapidamente digitando in un terminale il comando php -v.

PHP5

[dt_code]LoadModule php5_module modules/libphp5.so[/dt_code]

e nella sezione Include aggiungiamo:

[dt_code]Include conf/extra/php5_module.conf
Include conf/sites-enabled/*.conf[/dt_code]

PHP7

[dt_code]LoadModule php7_module modules/libphp7.so[/dt_code]

e nella sezione Include aggiungiamo:

[dt_code]Include conf/extra/php7_module.conf
Include conf/sites-enabled/*.conf[/dt_code]

File di configurazione WordPress per il server

Adesso abbiamo bisogno di creare un file di configurazione per WordPress  /etc/httpd/conf/sites-available/wordpress.conf. Questo file creerà quello che viene definito alias e che ci permetterà di accedere al url https://mywebsite.com/ (o qualsiasi hostname abbiate scelto).
Iniziamo col portarci nella cartella /etc/httpd/conf e nel terminale digitiamo:

[dt_code]sudo mkdir sites-{available,enabled}[/dt_code]

Adesso creiamo il file wordpress.conf nella cartella sites-available, ed inserite le stringhe riportate qui sotto. Fate attenzione a modificare ServerName e ServerAdmin in funzione del vostro hostname.

[dt_code]

<VirtualHost *:80>
ServerName mywebsite.com
DocumentRoot “/usr/share/webapps/wordpress”
ServerAdmin admin@mywebsite.com
ErrorLog “/var/log/httpd/wordpress-error.log”
TransferLog “/var/log/httpd/wordpress-access.log”

<Directory “/usr/share/webapps/wordpress”>
AllowOverride All
Options FollowSymlinks
Require all granted
php_admin_value open_basedir “/srv/:/tmp/:/usr/share/webapps/:/etc/webapps:$”
</Directory>
</VirtualHost>

[/dt_code]

Abilitare il nostro sito in WordPress

Questo passo è relativamente semplice. Per prima cosa portiamoci nella cartella /etc/httpd/conf e scarichiamo da github due script pronti all’uso, che eseguiranno per noi il lavoro sporco:

[dt_code]
cd /etc/httpd/conf
sudo wget https://gist.githubusercontent.com/mmstick/ba38bb0f50c843eaa58c/raw/129a8345d091fd57a07e62d7ffe9c556a6a88a66/a2ensite
sudo wget https://gist.githubusercontent.com/mmstick/070d9a9e6457972c03fd/raw/8a86c36b6dbbcbac82d3bb71a5bea0b58e8c5212/a2dissite
sudo chmod +x a2{en,dis}site[/dt_code]

Ed infine eseguiamo lo script che abiliterà wordpress

[dt_code]sudo ./a2ensite wordpress[/dt_code]

Creazione Database e User MySQL

La prima cosa che dovremo fare è attivare e iniziare il nostro server MariaDB SQL.

[dt_code]sudo systemctl enable mysqld && sudo systemctl start mysqld[/dt_code]

Creiamo database ed utente, mi raccomando occhio ai punto e virgola a fine comando!
[dt_code]sudo mysql -u root mysql
CREATE DATABASE wordpress;
CREATE USER ‘wordpress’@’localhost’ IDENTIFIED BY ‘wordpress_password’;
GRANT ALL PRIVILEGES ON *.* TO ‘wordpress’@’localhost’ WITH GRANT OPTION;
quit[/dt_code]

Può capitare che lanciando il comando iniziale, il servizio non risponda, per risolvere è sufficiente fermare l’esecuzione del comando con la combinazione di tasti Ctrl+C . A questo punto lanciare il comando

[dt_code]sudo mysql_install_db –user=mysql –basedir=/usr –datadir=/var/lib/mysql[/dt_code]

A questo punto sarà possibile eseguire i comandi indicati sopra.

Avviare Apache e accedere a WordPress

L’ultimo step consiste nell’abilitare e avviare il servizio Apache Web Server ed accedere alla nostra installazione locale di WordPress.

[dt_code]sudo systemctl enable httpd && sudo systemctl start httpd[/dt_code]

Perfetto se avete seguito alla lettera questa guida su Come Installare WordPress Locale su arch linux, non resta che aprire il browser e digitare l’url da voi scelto e ritrovarsi davanti la schermata iniziale di WordPress.

0 Comments

Submit a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.