Installer Wordpress en HTTPS sur Apache

Ouvrez un terminal et passez en root :

su -

Installer Apache

pkg install pkg:/ooce/server/apache-24
sleep 5
mkdir /etc/opt/ooce/apache-2.4/SSL
sleep 1

Installer MariaDB

pkg install pkg:/ooce/database/mariadb-1011
sleep 5
svcadm enable svc:/ooce/database/mariadb1011:default
sleep 10

Créer une base SQL

mysqladmin -uroot create 'wordpressdb'

Créer un utilisateur privilégié pour la gestion de la base wordpressdb

mysql -uroot -e'CREATE USER 'adminwp'@'localhost' IDENTIFIED BY 'password''
sleep 1
mysql -uroot -e'GRANT ALL ON 'wordpressdb'.* TO 'adminwp'@'localhost''
sleep 1

Installer PHP

pkg install pkg:/ooce/application/php-83

Configurer PHP

sed -i 's/;extension=curl/extension=curl/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;extension=gd/extension=gd/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;extension=mbstring/extension=mbstring/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;extension=zip/extension=zip/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;extension=exif/extension=exif/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;extension=openssl/extension=openssl/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;extension=fileinfo/extension=fileinfo/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;zend_extension=opcache/zend_extension=opcache/' /etc/opt/ooce/php-8.3/php.ini
sleep 1
sed -i 's/;extension=mysqli/extension=mysqli/' /etc/opt/ooce/php-8.3/php.ini

Relancer PHP

svcadm disable svc:/application/php83:default
sleep 5
svcadm enable svc:/application/php83:default

Ajouter l'utilisateur php au groupe webservd

usermod -G webservd php
sleep 1

Installer Wordpress

mkdir /var/www
wget http://wordpress.org/latest.tar.gz -P /var/www/
sleep 1
tar -xvzf /var/www/latest.tar.gz -C /var/www/
sleep 1
rm /var/www/latest.tar.gz
sleep 1

Configurer Wordpress

cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
sleep 1
sed -i 's/database_name_here/wordpressdb/' /var/www/wordpress/wp-config.php
sleep 1
sed -i 's/username_here/adminwp/' /var/www/wordpress/wp-config.php
sleep 1
sed -i 's/password_here/password/' /var/www/wordpress/wp-config.php
sleep 1
sed -i 's/localhost/127.0.0.1/' /var/www/wordpress/wp-config.php

Appliquer les permissions sur le DocumentRoot

find /var/www/wordpress -type d -exec chmod 755 {} \;
sleep 1
find /var/www/wordpress -type f -exec chmod 644 {} \;
sleep 1
chmod 640 /var/www/wordpress/wp-config.php
sleep 1
chown -R webservd:webservd /var/www/wordpress
sleep 1

Configurer Apache

mkdir -p /opt/ooce/apache-2.4/logs/
sleep 1
chown webservd:webservd /opt/ooce/apache-2.4/logs/
sleep 1
chmod 755 /opt/ooce/apache-2.4/logs/
sleep 1

Créer notre propre autorité de certification SSL pour nous auto-signer :

cd /etc/opt/ooce/apache-2.4/SSL

openssl genrsa 4096 > ca.key
sleep 1
openssl req -new -x509 -days 365 -nodes -key ca.key > ca.crt
sleep 1
openssl genrsa 4096 > cleprivapache.key
sleep 1

Créer la demande signature SSL et la faire signer par notre autorité de certification :

openssl req -new -key cleprivapache.key > demandesignature.csr
sleep 1
openssl x509 -req -in demandesignature.csr -out certifapache.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 365
sleep 1

Appliquer les permissions pour la clef privée et le certificat SSL :

chown webservd:webservd cleprivapache.key
chmod 640 cleprivapache.key
chown webservd:webservd certifapache.crt
chmod 644 certifapache.crt

Création du VirtualHost pour Wordpress :

{
echo '#### VHOST WORDPRESS ####'
echo ''
echo 'Listen 443'
echo ''
echo 'SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES'
echo 'SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES'
echo 'SSLHonorCipherOrder on'
echo 'SSLProtocol all -SSLv3'
echo 'SSLProxyProtocol all -SSLv3'
echo 'SSLPassPhraseDialog builtin'
echo 'SSLSessionCache '\''shmcb:/var/opt/ooce/apache-2.4/run/ssl_scache(512000)'\'''
echo 'SSLSessionCacheTimeout 300'
echo ''
echo '# REDIRECTION HTTP -> HTTPS'
echo ''
echo '<VirtualHost *:80>'
echo ' ServerName www.wordpress.lan'
echo ' Redirect permanent / https://www.wordpress.lan:443/'
echo '</VirtualHost>'
echo ''
echo ''
echo ''
echo '<VirtualHost *:443> '
echo ' ServerAdmin admin@www.wordpress.lan'
echo ' DocumentRoot '\''/var/www/www.wordpress.lan'\'''
echo ' ServerName www.wordpress.lan:443'
echo ' ErrorLog '\''/opt/ooce/apache-2.4/logs/www.wordpress.lan-error_log'\'''
echo ' CustomLog '\''/opt/ooce/apache-2.4/logs/www.wordpress.lan-access_log'\'' common'
echo ' '
echo ' SSLEngine on'
echo ''
echo ' SSLCertificateFile '\''/etc/opt/ooce/apache-2.4/SSL/certifapache.crt'\'''
echo ' SSLCertificateKeyFile '\''/etc/opt/ooce/apache-2.4/SSL/cleprivapache.key'\'''
echo ' <FilesMatch "\.(cgi|shtml|phtml|php)$">'
echo ' SSLOptions +StdEnvVars'
echo ' </FilesMatch>'
echo ' <FilesMatch "\.php$">'
echo ' SetHandler '\''proxy:unix:/var/opt/ooce/php/run/www-8.3.sock|fcgi://localhost/'\'''
echo ' SSLOptions +StdEnvVars'
echo ' </FilesMatch>'
echo ''
echo ' <Directory "/usr/apache2/2.4/cgi-bin">'
echo ' SSLOptions +StdEnvVars'
echo ' </Directory>'
echo ''
echo 'BrowserMatch "MSIE [2-5]" \'
echo ' nokeepalive ssl-unclean-shutdown \'
echo ' downgrade-1.0 force-response-1.0'
echo '</VirtualHost> '
echo 'CustomLog '\''/var/log/opt/ooce/apache-2.4/ssl_request_log'\'' \'
echo ' '\''%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b'\'''
echo ''
echo ''
} > /etc/opt/ooce/apache-2.4/extra/wordpress.conf

Ajout du virtualhost à la configuration d'apache

{
echo ' '
echo '#------------------------#'
echo '# Wordpress VirtualHost'
echo 'Include /etc/opt/ooce/apache-2.4/extra/wordpress.conf'

} >> /etc/opt/ooce/apache-2.4/httpd.conf

Configurer Apache pour PHP

sed -i 's/#LoadModule proxy_module libexec\/mod_proxy.so/LoadModule proxy_module libexec\/mod_proxy.so/' /etc/opt/ooce/apache-2.4/httpd.conf
sleep 1
sed -i 's/#LoadModule proxy_fcgi_module libexec\/mod_proxy_fcgi.so/LoadModule proxy_fcgi_module libexec\/mod_proxy_fcgi.so/' /etc/opt/ooce/apache-2.4/httpd.conf
sleep 1

Configurer Apache pour SSL

sed -i 's/#LoadModule socache_shmcb_module libexec\/mod_socache_shmcb.so/LoadModule socache_shmcb_module libexec\/mod_socache_shmcb.so/' /etc/opt/ooce/apache-2.4/httpd.conf
sleep 1
sed -i 's/#LoadModule ssl_module libexec\/mod_ssl.so/LoadModule ssl_module libexec\/mod_ssl.so/' /etc/opt/ooce/apache-2.4/httpd.conf
sleep 1
sed -i 's/#LoadModule setenvif_module libexec\/mod_setenvif.so/LoadModule setenvif_module libexec\/mod_setenvif.so/' /etc/opt/ooce/apache-2.4/httpd.conf
sleep 1
sed -i 's/#LoadModule log_config_module libexec\/mod_log_config.so/LoadModule log_config_module libexec\/mod_log_config.so/' /etc/opt/ooce/apache-2.4/httpd.conf
sleep 1

Demarrer Apache

svcadm disable svc:/network/http:apache24
sleep 5
svcadm enable svc:/network/http:apache24
sleep 5

Le site est à présent lancé et accessible.



↑ Haut de page