====== Wordpress custom ====== https://wiki.debian.org/WordPress **Vérifier le /etc/hosts** ===== Pour wordpress, a renseigner dans keepass mysql/wpuser ===== export PMYDBNAME="" export PMYDBUSER="" export PMYDBPW=" ===== FQDN du site ===== export HOTNAMEWP="www" export DOMAINWP="nom-de-domaine.com" export FQDNWP="$HOTNAMEWP.$DOMAINWP" echo "FQDN du serveur : $FQDNWP" ===== Email de l'administrateur ===== export ADMINMAIL="admin@nom-de-domaine.com" ===== installation des paquets requis ===== apt-get install apache2 apache2.2-common curl mysql-common mysql-server mysql-client php5 libjs-cropper libphp-phpmailer libphp-snoopy php5-gd php5-mysql tinymce ssl-cert ===== Nouveau mot de passe du superutilisateur de MySQL ===== Renseigner le mot de passe root mysql (mysql/root) et le renseigner dans le fichier keepass ===== Installation de Wordpress ===== cd /var/www mkdir -p $FQDNWP cd $FQDNWP wget --content-disposition http://wordpress.org/latest.tar.gz tar xfzp wordpress*.tar.gz rm wordpress*.tar.gz mv ./wordpress/* ./ rmdir ./wordpress/ chown -R www-data:www-data /var/www/$FQDNWP cat << 'EOF' > /var/www/$FQDNWP/.htaccess deny from all EOF chown www-data:www-data /var/www/$FQDNWP/.htaccess chmod 640 /var/www/$FQDNWP/.htaccess ==== Initialisation tables mysql ==== export MAKENEWDBFILE="/root/tmp_create_database.sql" cat << 'EOF' > $MAKENEWDBFILE CREATE DATABASE _DBNAME_; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON _DBNAME_.* TO _DBUSER_@localhost IDENTIFIED BY '_DBPW_'; FLUSH PRIVILEGES; EOF sed -i "s/_DBNAME_/$PMYDBNAME/g" $MAKENEWDBFILE sed -i "s/_DBUSER_/$PMYDBUSER/g" $MAKENEWDBFILE sed -i "s/_DBPW_/$PMYDBPW/g" $MAKENEWDBFILE cat $MAKENEWDBFILE | mysql --defaults-extra-file=/etc/mysql/debian.cnf rm $MAKENEWDBFILE **/!\ suivre le howto staging apache2 /!\** ==== host apache2 pour wordpress ==== cat << 'EOF' > /etc/apache2/sites-available/$FQDNWP ServerName _FQDN_ ServerAdmin _ADMINMAIL_ Options -All DocumentRoot /var/www/_FQDN_/ php_admin_value open_basedir /tmp/:/usr/share/php/:/var/www/_FQDN_/ AllowOverride None Order Deny,Allow Deny from all Order allow,deny allow from all Order deny,allow deny from all deny from all AllowOverride Limit FileInfo Options Options +SymLinksIfOwnerMatch DirectoryIndex index.php Order allow,deny Allow from all EOF sed -i "s/_FQDN_/$FQDNWP/g" /etc/apache2/sites-available/$FQDNWP sed -i "s/_ADMINMAIL_/$ADMINMAIL/g" /etc/apache2/sites-available/$FQDNWP a2ensite $FQDNWP a2enmod rewrite service apache2 stop service apache2 start **RQ :** Si le seul serveur présent est wordpress, alors désactiver le site default : a2dissite default; service apache2 stop; service apache2 start ===== config wordpress ===== export WPCONFFILE="/var/www/$FQDNWP/config.php" cat << 'EOF' > $WPCONFFILE EOF export SALT1=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export SALT2=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export SALT3=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export SALT4=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export SALT5=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export SALT6=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export SALT7=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export SALT8=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1) export DBTBPREFIX=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 6 | head -n 1) sed -i "s/_PMYDBNAME_/$PMYDBNAME/g" $WPCONFFILE sed -i "s/_PMYDBUSER_/$PMYDBUSER/g" $WPCONFFILE sed -i "s/_PMYDBPW_/$PMYDBPW/g" $WPCONFFILE sed -i "s/_FQDNWP_/$FQDNWP/g" $WPCONFFILE sed -i "s/_SALT1_/$SALT1/g" $WPCONFFILE sed -i "s/_SALT2_/$SALT2/g" $WPCONFFILE sed -i "s/_SALT3_/$SALT3/g" $WPCONFFILE sed -i "s/_SALT4_/$SALT4/g" $WPCONFFILE sed -i "s/_SALT5_/$SALT5/g" $WPCONFFILE sed -i "s/_SALT6_/$SALT6/g" $WPCONFFILE sed -i "s/_SALT7_/$SALT7/g" $WPCONFFILE sed -i "s/_SALT8_/$SALT8/g" $WPCONFFILE sed -i "s/_DBTBPREFIX_/$DBTBPREFIX/g" $WPCONFFILE chmod 640 $WPCONFFILE chown root:www-data $WPCONFFILE ===== Configuration php ===== sed -i "s/^upload_max_filesize.*/upload_max_filesize = 64M/g" /etc/php5/apache2/php.ini sed -i "s/^post_max_size.*/post_max_size = 64M/g" /etc/php5/apache2/php.ini ===== Configuration interne de wordpress ===== Se rendre sur : echo "http://$FQDNWP" - Langage : English (US), - Cliquer sur "let's go", - remplir le formulaire avec les champs suivants : echo -e "\nDatabase Name : $PMYDBNAME\nUser Name : $PMYDBUSER\nPassword : $PMYDBPW\nDatabase Host : localhost\nTable Prefix : $DBTBPREFIX" - Cliquer sur Submit, - Cliquer sur "Run the install", - Entrer le nom du site, et un nom d'utilisateur d'administration, exemple : wpadmin, - Entrer le mot de passe, le renseigner dans keepass (wordpress/wpadmin), - Entrer l'email d'administration, - Cliquer sur "Login", - Se logguer en admin, aller sur (dashboard -> updates), - Cliquer sur "Re-install Now" et vérifier le bon fonctionnement, - Faire les mises à jour des modules/themes.