Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
technique:chd-tls1 [2015/10/27 11:21] admin [Système mail] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Serveur chd-tls1 ====== | ||
- | |||
- | ===== Caractéristiques ===== | ||
- | |||
- | * Machine virtuelle (KVM amd64) | ||
- | * Debian 8 | ||
- | |||
- | ===== Roles ===== | ||
- | |||
- | * Outils collaboratif de l'asso | ||
- | * Appli de gestion des adhérents | ||
- | * Surveillance (monitoring) des équipements en Comminges | ||
- | * Tests de débit des liens vers Saint-Gaudens | ||
- | |||
- | ===== Notes d'installation ===== | ||
- | |||
- | ==== Système / Réseau ==== | ||
- | |||
- | <code bash> | ||
- | # Parti d'un template Debian 8 préinstallé sur un disque de 8 giga | ||
- | editor /etc/hosts /etc/hostname /etc/network/interfaces /etc/resolv.conf | ||
- | ifup eth0 | ||
- | ping 185.61.116.254 | ||
- | ping 8.8.8.8 | ||
- | ping google.fr | ||
- | passwd root | ||
- | reboot | ||
- | hostname --fqdn | ||
- | apt-get update | ||
- | apt-get install openssh-server | ||
- | deluser temp | ||
- | editor ~root/.ssh/authorized_keys | ||
- | editor ~/.bashrc | ||
- | passwd -dl root | ||
- | apt-get autoremove --purge rpcbind nfs-common | ||
- | apt-get install sudo arping ethtool fail2ban iftop iperf lldpd molly-guard nmap ntp powertop procps rdiff-backup rsync screen sshpass strace sysstat tcpdump vim w3m unzip | ||
- | apt-get install apache2 libapache2-mod-php5 mysql-server automysqlbackup phpmyadmin munin munin-node pdns-recursor dokuwiki | ||
- | rm /etc/munin/plugins/ntp_kernel_* | ||
- | rm /etc/munin/plugins/nfs* | ||
- | service munin-node reload | ||
- | </code> | ||
- | |||
- | ==== Services web ==== | ||
- | |||
- | <code bash> | ||
- | editor /etc/apache2/sites-available/000-default.conf | ||
- | editor /etc/apache2/sites-available/default-ssl.conf | ||
- | editor /etc/apache2/sites-available/redirect.conf | ||
- | editor /etc/apache2/sites-available/www.conf | ||
- | editor /etc/apache2/conf-available/dokuwiki.conf | ||
- | editor /etc/apache2/conf-available/phpmyadmin.conf | ||
- | editor /etc/apache2/conf-available/munin.conf | ||
- | editor /etc/apache2/conf-available/security.conf | ||
- | a2ensite default-ssl | ||
- | a2ensite redirect | ||
- | a2ensite www | ||
- | a2disconf dokuwiki | ||
- | a2disconf munin | ||
- | a2disconf phpmyadmin | ||
- | a2disconf serve-cgi-bin | ||
- | a2enmod rewrite | ||
- | a2enmod ssl | ||
- | htpasswd -Bc /etc/apache2/priv.htpasswd admin | ||
- | chgrp www-data /etc/apache2/priv.htpasswd | ||
- | chmod 640 /etc/apache2/priv.htpasswd | ||
- | service apache2 restart | ||
- | mkdir /var/www/priv | ||
- | editor /var/www/html/index.html | ||
- | editor /var/www/priv/index.html | ||
- | editor /usr/local/bin/tailapache | ||
- | chmod 755 /usr/local/bin/tailapache | ||
- | editor /etc/dokuwiki/dokuwiki.php | ||
- | rm /etc/dokuwiki/local.php | ||
- | chown www-data /var/lib/dokuwiki/lib/plugins/ | ||
- | </code> | ||
- | |||
- | ===== Appli de gestion ===== | ||
- | * Base créée via phpmyadmin (+ import fichier .sql) | ||
- | |||
- | |||
- | ==== Installation et premier CRUD ==== | ||
- | |||
- | <code bash> | ||
- | cd /var/www | ||
- | wget https://getcomposer.org/composer.phar | ||
- | php composer.phar create-project --prefer-dist cakephp/app chd_gestion'' | ||
- | cd chd_gestion | ||
- | # Config BDD | ||
- | editor config/app.php | ||
- | # Alias /gestion /var/www/chd_gestion/webroot | ||
- | editor /etc/apache2/sites-enabled/default-ssl.conf | ||
- | # Ajout RewriteBase /gestion | ||
- | editor .htaccess webroot/.htaccess | ||
- | # Test et vérifications embarquées dans Cake | ||
- | www-browser https://priv.chd.sx/gestion | ||
- | # Première génération de l'appli par rapport aux tables présentes dans la BDD | ||
- | for i in adherents equipement_stock equipements ip4privees ip4publiques relais secteurs service_types services villes; do bin/cake bake all $i; done | ||
- | # Changer la page d'accueil pour arriver directement sur la liste des adhérents | ||
- | editor config/routes.php | ||
- | # $routes->connect('/', ['controller' => 'Adherents', 'action' => 'index']); | ||
- | # Tester l'appli | ||
- | www-browser https://priv.chd.sx/gestion | ||
- | </code> | ||
- | |||
- | ==== Ajouter phpunit pour faire des tests ==== | ||
- | [[https://getcomposer.org/doc/03-cli.md#require|Doc de composer]] | ||
- | <code bash> | ||
- | php ../composer.phar require --dev phpunit/phpunit:5.* | ||
- | # Ecrire un premier Test (bake en génère tout plein par ailleurs) | ||
- | editor tests/TestCase/View/I18nBasicTest | ||
- | </code> | ||
- | |||
- | ==== Traduire les textes en français ==== | ||
- | === Générer le fichier modèle de traduction (.pot) === | ||
- | <code bash> | ||
- | bin/cake i18n extract | ||
- | # Toutes les réponses par défaut. Overwrite : yes. | ||
- | </code> | ||
- | === Écrire un fichier po (au bon endroit) === | ||
- | <code bash> | ||
- | root@chd-tls1:/var/www/chd_gestion# find src/Locale/ -ls | ||
- | 395603 4 drwxr-x--- 3 root root 4096 oct. 17 20:01 src/Locale/ | ||
- | 406962 36 -rw-r--r-- 1 root root 32982 oct. 17 16:11 src/Locale/default.pot | ||
- | 395531 4 drwxr-xr-x 2 root root 4096 oct. 17 20:15 src/Locale/fr_FR | ||
- | 407961 40 -rw-r--r-- 1 root root 38367 oct. 17 20:15 src/Locale/fr_FR/default.po | ||
- | </code> | ||
- | === Ajouter les outils de vérification des fichiers de traductions gettext === | ||
- | <code> | ||
- | apt-get install gettext-lint gettext | ||
- | POFileChecker src/Locale/fr_FR/default.po | ||
- | msgfmt -v -c src/Locale/fr_FR/default.po | ||
- | vendor/bin/phpunit --filter testBasicTranslation tests/TestCase/View/I18nBasicTest | ||
- | </code> | ||
- | ===== Etherpad ===== | ||
- | |||
- | A voir, mais putain c'est un coup à gravement pourrir tout le serveur :'( | ||
- | |||
- | ===== Système mail ===== | ||
- | |||
- | <code bash> | ||
- | editor /etc/mailname | ||
- | dpkg-reconfigure exim4-config | ||
- | # Listen 25 : 127.0.0.1, ::1 | ||
- | # Split config : oui | ||
- | update-exim4.conf | ||
- | apt-get install sympa | ||
- | a2disconf sympa | ||
- | editor /etc/apache2/sites-available/www.conf | ||
- | editor /etc/apache2/conf-available/sympa.conf | ||
- | editor /etc/sympa/wwsympa.conf | ||
- | editor /etc/sympa/topics.conf # C'est là dedans les catégories moches | ||
- | # Penser notamment a passer use_fast_cgi à 1 | ||
- | service apache2 reload | ||
- | editor /etc/sympa/sympa.conf | ||
- | editor /etc/aliases | ||
- | service sympa restart | ||
- | #editor /etc/exim4/conf.d/main/00_exim4-my-config | ||
- | cp -a /etc/exim4/conf.d/router/{400_exim4-config_system_aliases,450_local-config_sympa-aliases} | ||
- | editor /etc/exim4/conf.d/router/450_local-config_sympa-aliases | ||
- | cp -a /etc/exim4/conf.d/router/{450_local-config_sympa-aliases,440_local-config_sympa-global-aliases} | ||
- | editor /etc/exim4/conf.d/router/440_local-config_sympa-global-aliases | ||
- | update-exim4.conf | ||
- | service exim4 reload | ||
- | |||
- | www-browser http://chd.sx/sympa | ||
- | |||
- | </code> | ||