Installation des applications pour faire tourner un site web avec base de données Mysql
PS: Oui en ce moment on parle beaucoup de Nginx et je n’ai rien contre bien au contraire mais comment vous dire.. pour l’instant j’ai la flemme de m’y atteler ^^. Voila c’est dit, cependant Apache reste le serveur web le plus utilisé.
Installation d’Apache
apt-get install apache2
Si tous c’est correctement déroulé vous devriez obtenir une page de configuration d’Apache (« IT’S WORKS » n’ est plus.) en pointant sur votre nom de domaine (ou adresse ip).
a2enmod rewrite
(Pour autoriser les fichiers “.htaccess”)
nano /etc/apache2/apache2.conf
Remplacer la valeur « None » par « All » sur les fonctions « AllowOverride » à partir de ligne 153 environ:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
Rendez-vous à la fin de ce fichier et ajoutez y.
ServerName localhost
ServerName localhost
Cela évitera de vous afficher une erreur chaque fois que vous relancerez “Apache”. Faite “Ctrl+x” “o” “Enter”, pour enregistrer et sortir.
Les hôtes virtuels (virtual hosts):
Les hôtes virtuels (virtual hosts) doivent être situé dans /etc/apache2/site-available.
Ils vont servir à déterminer quelle adresse pointe dans quelle répertoire. De ce fait nous pourrons utiliser des sous-domaines.
Domaine = domain.tld
Sous domaine = x.domain.tld
Déjà présent le fichier 000-defaut.conf:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
Ici on remarque clairement que cet hôte pointe vers le répertoire /var/www/html soit à l racine du serveur.
Dans un Vhost on peut ajouter une foule de paramètres qui concernera le répertoire visé. En voici un pour exemple:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin mail@domain.tld
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/html/mon_site/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html/mon_site/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Pour un sous domaine:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin mail@domain.tld
ServerName x.domain.tld
ServerAlias www.x.domain.tld
DocumentRoot /var/www/html/mon_site2/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html/mon_site2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Activer un Vhost:
Pour activer un vhost il faut saisir la commande:
a2ensite mon_site.conf
et redémarrer Apache pour la prise en compe.
/etc/init.d/apache2 restart
Installation de php5
apt-get install php5
répondez O à la question.
Pour php on va juste modifier quelques reglages pour eviter les ennuis. (A adapter selon votre configuration)
Editez le fichier php.ini situé dans “/etc/php5/apache2/”. (Comme le fichier est assez long, il est préférable de l’ouvrir avec un éditeur comme “Notepad ++”).
Modifiez ces lignes comme ici.
ligne 396: memory_limit = 512M
ligne 663: post_max_size = 1000M
ligne 791: upload_max_filesize = 1000M
service apache2 restart
Installation de Mysql
apt-get install mysql-server-5.5
Répondez O à la question.
L’installation se lance et vous demande d’entrer le mot de passe “root” pour Mysql, c’est à vous de le choisir, faite en sorte de vous en souvenir.
PhpMyAdmin
Installons ensuite “phpmyadmin” qui va nous aider à administrer nos bases de données facilement.
apt-get install phpmyadmin
Répondez “O” à la question.
L’installation se lance et vous demande de sélectionner votre serveur web, appuyez sur la barre d’espace pour le sélectionner.
Ensuite le mot de passe root de Mysql.
Ensuite le mot de passe pour phpmyadmin (à entrer 2 fois)
PhpMyAdmin est accessible a l’adresse mon_ip/phpmyadmin
On en veut encore traité de cette manière. Continuez.
Un grand merci pour votre article