Ce mode opératoire permettra à n'importe quel utilisateur de reconfigurer un serveur afin de permettre un hébergement de sites internet et ce, avec les sécurités qui vont avec.
1.0
- Outils de base
- Symfony 2
- Composer
- Installer le site web
- Configurer Ip pour nom de domaine
- Fichier .conf
- Fichier php.ini
- Vérifications
- Installation autre composantes
- Optimisations
$ sudo apt-get update
$ sudo apt-get install git
$ sudo apt-get install apache2
$ sudo apt-get install php php-xml
$ sudo apt-get install mysql-server php-mysql
A présent, le serveur est prêt à accueillir les sites webs sur le répertoire :
$ /var/www/html
Initialisation des variable globales
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony
$ sudo apt-get install composer
Se positionner dans le répertoire web :
$ cd /var/www/html
Lancer la commande :
$ sudo git clone https://github.com/maximebourdel/Killer.git
Un répertoire "Killer" est maintenant présent, c'est le code source.
$ cd Killer
$ php bin/console doctrine:database:create
$ php app/console doctrine:schema:update --force
Se positionner dans le projet
$ sudo composer update
Les composants du projet vont maintenant s'installer (peut prendre du temps). Les assets (raccourcis) seront eux aussi générés.
Il faut ensuite renseigner les éléments essentiels pour la connexion puis le site sera opérationnel !
###Autorisations
Pour ne plus avoir l'erreur de type "Failed to write cache" :
- Installation du composant "acl"
- Configuration des droits
$ sudo apt-get install acl
$ su root
$ cd /var/www/html/Killer
$ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
$ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
$ exit
Ajouter les lignes suivantes à la fin du fichier /etc/bind/named.conf.local
zone "killer-game.com" {
type master;
file "/etc/bind/zones/db.killer-game.com";
allow-transfer {5.39.77.232;};
allow-query{any;};
notify yes;
};
zone "232.77.39.5.in-addr.arpa" {
type master;
file "/etc/bind/zones/232.77.39.5.in-addr.arpa";
};
Vérification que tout fonctionne (il ne devrait rien y avoir d'affiché) :
$ named-checkconf /etc/bind/named.conf
Ajouter le dossier zones puis se positionner dedans :
$ mkdir /etc/bind/zones
$ cd /etc/bind/zones
puis créez les fichiers suivants :
Créer le fichier /etc/bind/zones/db.killer-game.com et y insérer :
$TTL 12H
$ORIGIN killer-game.com.
@ IN SOA ns.kimsufi.com. ownercheck.killer-game.com. (
2016041702 ; Serial
8H ; Refresh
30M ; Retry
4W ; Expire
8H ; Minimum TTL
)
IN NS ns324635.ip-5-39-77.eu.
IN NS ns.kimsufi.com.
killer-game.com. IN A 5.39.77.232
ns IN CNAME killer-game.com.
mail IN CNAME killer-game.com.
www IN CNAME killer-game.com.
ftp IN CNAME killer-game.com.
ownercheck IN TXT "xxxxxx"
Vérification :
$ named-checkzone killer-game.com db.killer-game.com
zone killer-game.com/IN: loaded serial 2016041702
OK
Créer le fichier /etc/bind/zones/232.77.39.5.in-addr.arpa et y insérer :
$TTL 12H
@ IN SOA killer-game.com. postmaster.killer-game.com. (
2016041702 ; Serial
8H ; Refresh
30M ; Retry
4W ; Expire
8H ; Minimum TTL
)
IN NS ns.kimsufi.com.
IN PTR killer-game.com.
Vérification :
$ named-checkzone killer-game.com 232.77.39.5.in-addr.arpa
zone killer-game.com/IN: loaded serial 2016041702
OK
$ nslookup killer-game.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: killer-game.com
Address: 5.39.77.232
Editer le fichier /etc/apache2/apache2.conf et y insérer à la fin :
###### Ajout ######
<VirtualHost *:80>
ServerName killer-game.com
ServerAlias www.killer-game.com
DocumentRoot /var/www/html/Killer/web
<Directory /var/www/html/Killer/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/Killer>
# Options FollowSymlinks
# </Directory>
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/Killer/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>
###### Ajout ######
Puis lancer la commande :
$ sudp a2enmod rewrite
$ sudo service apache2 restart
Editer le fichier /etc/php5/cli/php.ini :
$ sudo editor /etc/php5/cli/php.ini
Puis faites en sorte de retirer le ";" au début de la ligne et ajouter "Europe/Paris" La ligne devrait ressembler à ceci
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Paris"
Afin de s'assurer qu'il n'y a aucun soucis sur le serveur :
$ cd /var/www/html/Killer
$ php app/check.php
Tout devrait être OK.
##Installation autre composantes
###Elastic Search S'assurer que le package suivant est déjà présent :
$ sudo apt-get install php5-curl
Ensuite, récupérer la version elasticsearch-1.4.0 Puis se situer dans le répertoire :
$ cd elasticsearch-1.4.0/bin
Puis lancer la elastic search en tache de fond de la sorte :
$ sudo ./elasticsearch &
(le PID sera alors affiché, si vous souhaitez le tuer faire ) :
$ sudo kill -9 <PID>
Redémarrer Apache2 :
$ sudo service apache2 restart
Aller dans le répertoire du Killer :
$ cd/var/www/html/Killer
Charger les données pour Elastica :
$ sudo php app/console fos:elastica:populate
###Vérification Créer un Killer, il devrait se créer sans renvoyer d'erreur.
Par défaut, composer génère un autoloader qui n'est pas entièrement optimisé. En effet, lorsque vous avez de nombreuses classes, la génération de l'autoloader peut prendre un temps considérable..
En environnement de production, vous voulez que l'autoloader soit rapide. Composer peut générer un autoloader optimisé qui convertit les arborescences / espace de nom normalisés via PSR-0 en un fichier classmap, améliorant les performances
$ cd /var/www/html/Killer
$ composer dump-autoload --optimize