User Tools

Site Tools


serveurs:serveurs_start

Differences

This shows you the differences between two versions of the page.


Previous revision
serveurs:serveurs_start [2023/09/19 17:00] (current) – [vérification SSL] julien
Line 1: Line 1:
 +====== Koozali SME 10 ======
 +
 +Finalement nous avons fait le pas de mettre à jour notre serveur!
 +Nous sommes passés de la version 9.2 à la 10.1 de chez Koozali (SME) mais attention nous avons dû passer par une installation fraîche sur une nouvelle machine (petite consommation comme on les aime pour nos serveurs!).
 +
 +===== Installation Koozali 10.1 =====
 +
 +1-télécharger l'iso de Koozali SME
 +2-l'installer sur une clefs usb
 +3-démarrer votre serveur avec la clef usb
 +4-suivre les instructions de l'installation : https://wiki.koozali.org/SME_Server:Documentation:Administration_Manual:Chapter5#Installing_the_Software
 +
 +Nous reviendrons dans le détails pour cela mais les concepts restent les mêmes que pour les versions précédentes si ce n'est qu'il y a de petit rajout au démarrage comme l'utilisation de la souris et la possibilité de configurer plusieurs aspects de votre serveur de façon graphique (clavier, source d'installation...etc)
 +
 +
 +
 +
 +===== émigration des données du 9.2 vers 10.1 =====
 +
 +
 +
 +===== wordpress et php-fpm =====
 +
 +Koozali 10.1 est passé sur un système de gestion php le php-fpm
 +Pour gérer les différentes versions de nos wordpress qui pour certains n'ont pas été mis à jour depuis un moment nous avons opté pour une solution facilement manipulable via le server-manager : https://wiki.koozali.org/Webhosting
 +facile à installer et facile à utiliser pour gérer vos différents version wordpress / php
 +<code>
 +yum --enablerepo=smecontribs install smeserver-webhosting
 +</code>
 +ensuite tout se passe dans server-manager, vous pouvez ainsi choisir le php pour chacune de vos Ibays.
 +
 +Avant de réaliser cet opération certains wordpress aiguiller sur une mauvaise version de php créé des erreurs dans les logs de segmentation fault (alloc mem) 
 +https://github.com/matomo-org/matomo/issues/20290
 +===== update dokuwiki =====
 +
 +
 +
 +
 +===== vérification SSL =====
 +Voici notre plus gros point noir ces derniers tempps... depuis que l'on est forcé d'utilisation une certification extérieur "officiel" pour nos serveurs indépendant, cela devient un casse tête.
 +
 +Pour mieux comprendre ce qui se passe par ici : https://en.wikipedia.org/wiki/Certificate_authority
 +
 +Il y a des solutions qui prennent du temps et de bricoler comme celle du self signed certificate... ce n'est pas hyper clair pour nous pour l'instant, nous l'avons expérimenté et nous n'avons pas réussi...
 +On va y revenir dessus et nous mettrons le résultat ici.
 +En attendant, la solution de passer par une instance extérieur est notre choix pour notre DNS principal, on utilise Gandi pour nos DNS et donc pour notre cerfication SSL.
 +Pour comprendre les différences entres les différents certificats : https://wiki.koozali.org/Certificates_Concepts
 +
 +Pour la solution dite "commercial" via Gandi il y a quand même du boulot :
 +
 +Il faut tout d'abord générer le certificat de votre serveur :
 +
 +1-Générer une clefs RSA
 +<code>
 +openssl genrsa -out mondomaine.com-key.pem 2048
 +</code>
 +
 +2-Générer le code CSR
 +<code>
 +openssl genrsa -out mondomaine.com-key.pem 2048
 +</code>
 +
 +Pour ces commandes vous allez avoir plusieurs questions sur votre organisation, adresse, ville...etc (pensez-y)
 +
 +Ensuite nous allons installer l'outil de configuration du certificat SSL dans server-manager
 +<code>
 +yum install smeserver-certificate --enablerepo=smecontribs
 +</code>
 +
 +Dans le server-manager vous aurez accès à une interface particuliére avec 3 tableaux différents pour inscrire vos codes et certificats
 +
 +Avant d'inscrire vos certificats dans ces cases, il vous faudra créer votre reconnaissance de certificat chez votre DNS provider, dans notre cas Gandi.
 +Il faut aller sur l'interface de gestion de vos DNS et acheter un Certificat SSL / TLS (soit pour 1 adresse pour de multiple) nous avons fait le choix d'une seule pour le moment (notre DNS principal) pour pouvoir ensuite expérimenter d'autres type de confirguration que celle du commercial.
 +
 +Une fois que vous avez pris une option SSL pour votre DNS, il vous sera demander de fournir la clef RSA et le code CSR que vous avez généré sur votre serveur, il faudra les copier dans les bonnes cases de votre fournisseur de DNS.
 +
 +Une fois que vous aurez validé l'ensemble de ces étapes et acheter votre certification extérieur (valable seulement pendant 1 an) tous les ans il faudra de nouveau renouveler votre certificats SSL
 +
 +Vous allez maintenant pouvoir : 
 +
 +1-télécharger votre serveur.crt et le mettre dans la 1ere case de l'interface de server-manager (SSL)
 +2-copier votre clef RSA dans la 2eme case, celle là vous l'avez généré vous-même
 +3-télécharger le certificat intermediaire  CA officiel dont vous collerez le code dans la 3ème case
 +
 +Il faut sauver tout ça et tester que vous n'avez plus besoin de valider un certificat pour votre site/nom de domaine
 +Les erreurs que nous avons rencontré ont essentiellement consisté à coller les cerficats au mauvais endroit.... en général il n'y a plus d'accès au site... faîtes donc attention mais tout est reversible avec la commande :
 +<code>
 +signal-event certificate-revert
 +</code>
 +
 +enfin pour tester que votre SLL est en place : https://www.ssllabs.com/ssltest
 +
 +
 +Si vous êtes perdu, pour ce perdre encore plus, il y a plein de docs par ici : https://docs.gandi.net/en/ssl/index.html
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== nextcloud & collabora =====
 +
 +
 +===== crontab =====
 +
 +la solution classique via le terminal n'est plus trop possible (on a pas cherché plus que ça)
 +Notamment car il y a un crontab-manager dans le server-manager à installer directement
 +
 +<code>
 +yum install smeserver-crontab_manager --enablerepo=smecontribs
 +</code>
 +
 +puis tout se passe dans l'interface, vous pouvez rajouter autant de routine cron que vous voulez.
 +
 +Si vous voulez être sûr du boulot, on a toujours la commande
 +<code>
 +more /etc/crontab
 +</code>
 +
 +
 +
 +===== big blue button - raté (17/09/2023) =====
 +
 +C'est une très bonne initiative
 +Par contre il doit y avoir un mystère dans le lancement de l'API
 +Dans nextcloud (voir sujet au dessus) vous pouvez l'installer facilement
 +puis dans les settings de BigBlueButton sur Nextcloud, il faut aller dans additionnal settings et rentrer l'url de l'api et l'API secret
 +Pour cela il faut faire la commande :
 +<code>
 +sudo bbb-conf --secret
 +</code>
 +evidement il faut enlever le sudo qui correspond à un serveur ubuntu et Centos... de toute façon nous sommes déjà en root pour travailler sur le server...
 +bref c'est déjà un petit bug, ensuite la commande est introuvable car il faut démarrer le serveur mais là aucune indication sur comment démarrer le serveur... ni dans la doc ni dans les forums...
 +
 +sur le site du créateur de l'app pour nextcloud il dit juste ça :
 +
 +https://github.com/sualko/cloud_bbb#rocket-install-it
 +
 +Configure it
 +Get your BBB API url and secret by executing sudo bbb-conf --secret on your BBB server.
 +
 +<code>
 +$ sudo bbb-conf --secret
 +
 +    URL: https://bbb.your.domain/bigbluebutton/
 +    Secret: abcdefghijklmnopqrstuvwxyz012345679
 +
 +    Link to the API-Mate:
 +    https://mconf.github.io/api-mate/#server=https://...
 + </code>
 +
 +et là... pfiouu la galère!
 +un peu plus de détails sur ce qu'il est possible de faire par ici :
 +https://docs.bigbluebutton.org/administration/nextcloud/
 +On a suivis les recommendation de ce site mais on arrive toujours au même problème :
 +la fameuse ligne de commande
 +<code>
 +bbb-conf --secret
 +</code>
 +qui n'existe pas dans Koozali 10!!!  "-bash: bbb-conf : commande introuvable"
 +
 +rien du tout sur les forums... excepté cette petite réponse qui paraît totalement bricolé par rapport à l'ambition du projet :
 +https://help.nextcloud.com/t/nextcloud-app-for-bigbluebutton-integration/74910/83?page=4
 +
 +nous sommes passés en mode expert...
 +
 +Manual configuration (for experts)
 +
 +If you prefer not to use the web interface for configuration, you will find all used configuration keys in the list below. Please beware that there will be no check if those values are correct. Therefore this is not the recommended way. The syntax to set all settings is occ config:app:set bbb KEY --value "VALUE".
 +
 +
 +<code>
 +occ config:app:set bbb KEY --value app.navigation --value true
 +occ config:app:set bbb KEY --value app.navigation.name --value bbb
 +occ config:app:set bbb KEY --value api.url --value https://monsite/nextcloud/bbb
 +occ config:app:set bbb KEY --value api.secret --value monmotdepasse
 +</code>
 +tout à l'air de passer mais revenue à la config sur nextcloud, toujours les mêmes erreurs : "API URL is invalid"
 +
 +ON LAISSE TOMBER POUR LE MOMENT!
 +
 +
 +
 +
 +
 +===== Simple Html5 audio jukebox =====
 +
 +On ne peut pas faire plus simple, un simple jukebox sans base de données, un script une page comme pour Kplaylist (old days) Noctifer Music 0.7.5
 +https://github.com/lrkrol/Noctifer-Music/releases
 +c'est un script html5 simple à coller dans votre ibay où se trouve vos fichiers sons
 +Il y a un script à éditer index.php dans lequel vous pouvez choisir les skins/templates, rendre votre jukebox public ou privé
 +
 +<code>
 +# +-----------------------------------+
 +# |     C O N F I G U R A T I O N     |
 +# +-----------------------------------+
 +
 +ylist contents
 +$usepassword = false;
 +$passwords = array('123', 'abc');
 +</code>
 +
 +
 +
 +
 +====== INSTALL & CONFIRGURATION DE NEXTCLOUD SUR SME 9.2 (KOOZALI) ======
 +
 +suivre le tuto par ici : https://wiki.contribs.org/Nextcloud
 +
 +installer des paquets officiel
 +
 +<code>
 +yum install smeserver-extrarepositories-remi-safe smeserver-extrarepositories-fws smeserver-extrarepositories-epel
 +signal-event yum-modify
 +yum install smeserver-nextcloud --enablerepo=smecontribs,epel,fws
 +signal-event webapps-update
 +service php-fpm start
 +service php71-php-fpm start
 +signal-event nextcloud-update
 +</code>
 +
 +<code>
 +signal-event post-upgrade 
 +signal-event reboot
 +</code>
 +
 +toute la config de votre nextcloud se situe dans ce répertoire : /usr/share/nextcloud/config
 +les data des users : /home/e-smith/files/nextcloud/data
 +
 +Dans l'administration de votre nextcloud vous pourrez organiser un ensemble de chose pour l'accès de vos utilisateurs et les apps à disposition
 +Mais pour rendre tout cela public :
 +
 +<code>
 +config show nextcloud
 +</code>
 +cela donne quelque chose comme cela (selon votre config de nextcloud)
 +nextcloud=service
 +    AdminPassword=#####
 +    AdminUser=nextcloudadmin
 +    DbName=nextcloud
 +    DbPassword=#######
 +    DbUser=nextcloud
 +    TrustedDomains=
 +    access=private
 +    status=enabled
 +
 +*note - access=private
 +
 +pour le rendre public, rien de plus simple!
 +
 +<code>
 +config setprop nextcloud access public
 +signal-event nextcloud-update
 +</code>
 +
 +
 +
 +
 +
 +
 +
 +
 +====== SME 9.2 Koozali - MIGRATION ENTRE 2 SERVEURS ======
 +
 +A la suite d'un problème sur une serveur SME 9.2 (Koozali) lié à des soucis de version de php et de wordpress, nous avons décidé de mettre en route une installation toute fraîche d'un [[https://wiki.contribs.org/SME_Server:9.2|SME 9.2 (Koozali)]]
 +
 +===== étape 1 - sauvegarde du server =====
 +
 +Avant toute chose il faut faire une sauvegarde votre server et cela en passe par plusieurs types de sauvegarde (qui ne semble toujours être évident dans les forums, back up your server... blablabla).
 +Il existe dans SME 9.2, un système de backup automatique, à tester une prochaine fois
 +Nous allons utiliser la commande ssh et scp dans toutes nos opérations.
 +
 +==== a) sauvegarde vos dokuwiki ====
 +
 +
 +-se loger en ssh dans votre serveur SME et aller dans le répertoire de votre dokuwiki
 +
 +<code>
 +cd /home/e-smith/files/ibays/votredokuwiki/html
 +</code>
 +
 +-compresser votre site pour la sauvegarde
 +
 +<code>
 +tar cvfz CopyDokuwiki.tar.gz *
 +</code>
 +
 +Vous utiliserez ce tar dans votre migration sur un autre serveur
 +
 +==== b) sauvegarde de votre wordpress ====
 +
 +ça se complique car à l'instar de dokuwiki il y a aussi une base donnée à sauvegarder. Pour la 1ére partie même méthode que pour dokuwiki
 +
 +-se loger en ssh dans votre serveur SME et aller dans le répertoire de votre dokuwiki
 +
 +<code>
 +cd /home/e-smith/files/ibays/votrewordpress/html
 +</code>
 +
 +-compresser votre site pour la sauvegarde
 +
 +<code>
 +tar cvfz Copyvotrewordpress.tar.gz *
 +</code>
 +
 +Il faut absolument utiliser phpmyadmin pour simplifier la démarche d'exportation et d'importation des bases de données. Nous prendrons la version la plus simple avec phpmyadmin.
 +
 +-ouvrir votre phpmyadmin - http://votreserveur/phpmyadmin (attention à bien choisir un utilisateur ayant tous les privilèges sur la base données)
 +
 +{{:serveurs:exportmysql.png?800|}}
 +
 +-exécuter la sauvegarde dans le repertoire proposé : /var/lib/phpMyAdmin/save/
 +
 +A ce stage vous avez sauvegarder l'essentiel de vos site web pour bien opérer votre changement de serveur ou si vous expérimentez une update sur le site.
 +
 +UPDATES 08/09/2023 : Dans le cadre d'une nouvelle migration de SME Koozali 9.2 vers 10.1 nous avons rencontré un problème d'exportation des bases de données via PhpMyAdmin... l'exportation nuos donne seulement une page blanche sans aucune action ni info...
 +A ce moment là nous avons opéré la sauvegarde dans le repertoir du site directement en ligne de commande :
 +<code>
 +mysqldump -u username -p databasename > filename.sql
 +</code>
 +puis transférer la base de données sur le nuveau serveur ou importation direct sur le même serveur selon votre config
 +et importation via PhpMyAdmin.
 +
 +
 +==== c) sauvegarde de vos emails ====
 +
 +tout vas bien si vous n'avez pas beaucoup d'email mais si vous avez plusieurs années de courrier électroniques cela peut-être un vrai cauchemar mais pas tellement si vous connaissez la méthode :
 +
 +-allez dans le répertoire de vos emails sur SME
 +
 +<code>
 +cd /home/e-smith/files/users/votreuser/Maildir
 +</code>
 +
 +<code>
 +tar cvfz Copiervosdossiers.tar.gz *
 +</code>
 +
 +le soucis que nous avons rencontré c'est que la copie ne semble pas avoir pris en compte les fichiers cachés, nous avons dû les découvrir de leur point cachés pour pouvoir les intégrer dans le tar.
 +
 +===== étape 2 - réinstaller vos site web et emails dans le nouveau serveur =====
 +
 +
 +a) copier votre dokuwiki sur le nouveau serveur
 +
 +-créer une nouvelle ibay dans le server-manager de votre serveur SME (même nom que celle de l'ancien serveur pour éviter les problèmes de chemin)
 +
 +-de votre ancien serveur copiez le tar de votre doku
 +
 +<code>
 +scp CopyDokuwiki.tar.gz root@votrenouveauserveurip:/home/e-smith/files/ibays/votredokuwiki/html
 +</code>
 +
 +-puis allez dans votre nouveau serveur dans l'ibay de votre dokuwiki pour décompressé votre dokuwiki
 +
 +<code>
 +tar xvfz CopyDokuwiki.tar.gz
 +</code>
 +
 +bien vérifié la version de php, en fonction de la version de votre dowiki vous devrez faire attention, si vous avez un problème veuillez installer PHP-SCL (Contrib des PHP Software Collections)
 +
 +
 +a) copier votre wordpress sur le nouveau serveur
 +
 +Pour wordpress même démarche avec l'importation de votre base de donnée en plus 
 +
 +
 +-créer une nouvelle ibay dans le server-manager de votre serveur SME (même nom que celle de l'ancien serveur pour éviter les problèmes de chemin)
 +
 +-de votre ancien serveur copiez le tar de votre wordpress
 +
 +<code>
 +scp Copyvotrewordpress.tar.gz root@votrenouveauserveurip:/home/e-smith/files/ibays/votrewordpress/html
 +</code>
 +
 +-puis allez dans votre nouveau serveur dans l'ibay de votre wordpress pour décompressé votre dokuwiki
 +
 +<code>
 +tar xvfz Copyvotrewordpress.tar.gz
 +</code>
 +
 +
 +Pour la base de donnée de wordpress il faut aussi la copier sur votre nouveau serveur :
 +
 +à partir de votre ancien serveur
 +<code>
 +cd /var/lib/phpMyAdmin/save/
 +</code>
 +
 +<code>
 +scp votrebasedonneewordpress.sql root@votrenouveauserveurip:/var/lib/phpMyAdmin/upload
 +</code>
 +
 +-ouvrir votre phpmyadmin - http://votreserveur/phpmyadmin (attention à bien choisir un utilisateur ayant tous les privilèges sur la base donnée) 
 +
 +-créer une nouvelle base de donnée vide au nom de celle que vous avez utilisé dans le wordpress de votre ancien serveur!!
 +
 +{{:serveurs:importmysql.png?800|}}
 +
 +-Choisissez depuis le répertoire de téléchargement du serveur web /var/lib/phpMyAdmin/upload/ (dans ce repertoire vous devriez trouver votrebasedonneewordpress.sql)
 +
 +-exécuter l'importation
 +
 +Bien vérifier que le nom de la base donnée, votre user et le mot de passe corresponde bien à l'utilisateur/basedonnée/mtpass que vous utilisez sur votre nouveau serveur. Le nom de la base de donnée doit être la même
 +
 +Enfin pour les emails il faut utiliser la même méthode que pour wordpress avec la base donnée - exporter/importer la base de donnée horde
 +
 +
 +
 +====== UBUNTU DESKTOP 18.04 (SERVER) + NEXTCLOUD ======
 +
 +===== Partie Serveur =====
 +
 +
 +Après plusieurs essais difficile avec Ubuntu server 18.04 et installation Owncloud
 +nous testons une installation classique Ubuntu 18.04 LTS Avec LEMP et une autre avec LAMP
 +
 +1-installer le système Ubuntu Desktop 18.04 - https://ubuntu.com/download/desktop/thank-you?country=FR&version=18.04.3&architecture=amd64
 +
 +
 +==== installation de LEMP (interface graphique pour ubuntu serveur, basé sur NGINX) ====
 +Nous allons tester cette méthode : https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04
 +
 +1er étape : mettre à jour le système et installer nginx
 +<code>
 +apt-get update
 +apt list --upgradable
 +apt install ssh
 +apt install nginx
 +</code>
 +
 +2eme étape : ouvrir le pare-feu nginx en établissant des régles
 +
 +<code>
 +ufw enable
 +ufw allow 'nginx full' #http, https, ssh
 +ufw status #ça devrait être actif
 +</code>
 +
 +tester votre adresse IP local et extérieur (hors box/connection perso)
 +<code>
 +ip addr show wlp2s0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' #correspond à bon vieux ifconfig ;-p
 +curl -4 icanhazip.com
 +</code>
 +
 +ouvrir un navigateur http://localhost ou http://127.0.0.1 ou http://votreadresseiplocal
 +si l'installation a bien été faite vous aurez une page de nginx pour vous dire que tout est bien.
 +
 +
 +3eme étape : installer et configurer la base de données mysql
 +
 +<code>
 +apt install mysql-server
 +mysql_secure_installation #installation sécurisé de votre serveur / choix du votre mot de base et accès extérieur
 +</code>
 +
 +config dans mysql directement
 +
 +<code>
 +mysql
 +mysql> SELECT user,authentication_string,plugin,host FROM mysql.user; #authentifier votre utilisateur
 +</code>
 +
 +Output
 ++------------------+-------------------------------------------+-----------------------+-----------+
 +| user             | authentication_string                     | plugin                | host      |
 ++------------------+-------------------------------------------+-----------------------+-----------+
 +| root                                                       | auth_socket           | localhost |
 +| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 +| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 +| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
 ++------------------+-------------------------------------------+-----------------------+-----------+
 +4 rows in set (0.00 sec)
 +
 +<code>
 +mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
 +mysql> FLUSH PRIVILEGES;
 +mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
 +</code>
 +
 +Output
 ++------------------+-------------------------------------------+-----------------------+-----------+
 +| user             | authentication_string                     | plugin                | host      |
 ++------------------+-------------------------------------------+-----------------------+-----------+
 +| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
 +| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 +| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 +| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
 ++------------------+-------------------------------------------+-----------------------+-----------+
 +4 rows in set (0.00 sec)
 +
 +<code>
 +mysql> exit
 +</code>
 +
 +une fois cette démarche réalisé vous devrez utiliser cette commande pour vous loger dans mysql
 +
 +<code>
 +mysql -u root -p
 +</code>
 +
 +la base de données est prête à être utilisé!
 +
 +4eme étape : installer et configurer PHP (ce n'est pas inclus directement dans l'installation de nginx)
 +
 +<code>
 +apt install php-fpm php-mysql
 +</code>
 +
 +Dans la logique de Nginx il va vous falloir configurer la possibilité d'attacher plusieurs espace sur votre serveur pour différents site web et différents DNS
 +Sous Nginx cela s'appelle Blocs Serveur (un peu laborieux tout ça mais à long terme ça sera mieux)
 +nous allons suivre cette méthode : https://www.digitalocean.com/community/tutorials/comment-installer-nginx-sur-ubuntu-18-04-fr
 +
 +<code>
 +sudo mkdir -p /var/www/example.com/html
 +chown -R $USER:$USER /var/www/example.com/html #droits d'accès utilisateur
 +chmod -R 755 /var/www/example.com #pour être sûr!
 +</code>
 +
 +créer une page html pour tester :
 +
 +<code>
 +nano /var/www/example.com/html/index.html
 +</code>
 +et on y met :
 +<code>
 + <html> 
 +<head> 
 +<title>Welcome to Example.com!</title> 
 +</head> 
 +<body> 
 +<h1>Success! The example.com server block is working!</h1> 
 +</body> 
 +</html> 
 +</code>
 +
 +créer un nouveau block comme site-available
 +<code>
 +nano /etc/nginx/sites-available/example.com 
 +</code>
 +
 +et y mettre :
 +
 +<code>
 + server { 
 +listen 80; 
 +listen [::]:80; 
 +root /var/www/example.com/html; 
 +index index.html index.htm index.nginx-debian.html; 
 +server_name example.com www.example.com; 
 +location / { 
 +try_files $uri $uri/ =404; 
 +
 +
 +</code>
 +
 +et pour qu'il soit pris en compte au démarrage
 +
 +<code>
 +ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ 
 +</code>
 +
 +-example.com: Répondra aux requêtes pour example.com et www.example.com.
 +
 +-default: Répondra à n’importe quelle sur le port 80 qui ne correspond pas aux deux autres blocs. Pour éviter un problème avec la mémoire de hachage qui pourrait survenir lors de l’ajout de nom de serveur additionnels, il est nécessaire d’ajuster une seule valeur dans le fichier /etc/nginx/nginx.conf . Ouvrez le fichier : command sudo nano /etc/nginx/nginx.conf Trouvez la directive server_names_hash_bucket_size et enlevez le symbole # pour décommenter la ligne
 +
 +
 +Ensuite, faite la vérification pour pour vous assurer qu’il n’y a pas d’erreurs de syntaxe dans vos fichiers Nginx : command sudo nginx -t Enregistrez et fermez le fichier lorsque vous avez terminé. S’il n’y a pas de problèmes, redémarrez Nginx pour activer vos changements : command sudo systemctl restart nginx Nginx devrait maintenant desservir votre nom de domaine. Vous pouvez vérifier ceci en naviguant à http://example.com, ou vous verrez quelque chose comme ceci : Nginx first server block
 +
 +**Success! The example.com server block is working!**
 +
 +
 +
 +cette histoire de block peut-être croisé par ici (anglais) : https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Installation de LAMP (interface graphique pour Ubuntu serveur, basé sur Apache2) =====
 + - https://doc.ubuntu-fr.org/lamp
 +
 +Installer Apache, MariaDB, PHP et modules
 +<code>
 +sudo apt install apache2 mariadb-server php-mysql libapache2-mod-php php-gd php-json php-curl php-mbstring php-intl php-imagick php-xml php-zip
 +</code>
 +
 +Ouvrez un navigateur pour tester si le serveur marche:
 +http://localhost//
 +http://127.0.0.1/
 +
 +Installer PhpMyAdmin 
 +<code>
 +sudo apt install phpmyadmin
 +</code>
 +
 +source/détail: https://doc.ubuntu-fr.org/lamp
 +
 +===== Installation NextCloud =====
 +
 +:!: **La configuration d'une entrée A dans votre registre DNS n'est pas requise pour que Nextcloud fonctionne, mais nécessaire si vous voulez sécuriser le tout avec https :** :!:
 +
 +Exemple de config DNS
 +<code>
 +cloud 10800 IN A 123.45.67.89
 +  |                 |
 +sous-dom|             IP
 +       TTL
 +</code>
 +
 +__Installation et configuration du server__
 +
 +-- On copie la config par default d'un site apache pour créer une config pour nextcloud
 +<code>cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nextcloud.conf</code>
 +
 +-- Puis on l'édite
 +<code>nano /etc/apache2/sites-available/nextcloud.conf</code>
 +
 +-- Rentrez les lignes correspondantes afin que votre fichier de configuration ressemble à cette exemple ('cloud' étant le sous-domaine que vous désirez attribuer à Nextcloud)
 +<code>
 +<VirtualHost *:80>
 +        ServerName cloud.monpetit.domaine
 +
 +        ServerAdmin webmaster@localhost
 +        DocumentRoot /var/www/nextcloud
 +        
 +        ErrorLog ${APACHE_LOG_DIR}/error.log
 +        CustomLog ${APACHE_LOG_DIR}/access.log combined
 +</VirtualHost>
 +</code>
 +
 +-- Activez l'host virtuel que l'on vient de créer, et recharger apache
 +<code>a2ensite nextcloud
 +systemctl reload apache2</code>
 +
 +
 +__Certification pour https__ (//Ici on utilisera certbot, qui nous obtiendra un certificat gratuit chez 'Let's Encrypt'. Vous êtes libre d'obtenir un certificat autre part//)
 +<code>apt install certbot python-certbot-apache
 +certbot --apache</code>
 +**Selectionnez votre site**
 +
 +//Si il y aura une erreur à ce moment là, votre entrée dans la base du DNS est mal configurée//
 +
 +**Selectionnez '2', afin de rediriger toutes rêquettes http vers https**
 +
 +
 +-- Créez un dossier pour Nextcloud, puis le télécharger et le placer
 +<code>mkdir /var/www/nextcloud</code>
 +-- Téléchargez Nextcloud à [[https://nextcloud.com/install/#instructions-server]] (pour cet exemple nous prendrons le .tar)
 +<code>wget https://coller.le/link.ici</code>
 +-- Extraction du fichier
 +<code>tar xvf nextcloud-XXX.tar.bz
 +rm nextcloud-XXX.tar.bz
 +mv ./nextcloud/* .
 +mv ./nextcloud/.* .
 +rmdir nextcloud</code>
 +--  Rendez le server web propriétaire du dossier 'nextcloud'
 +<code>chown -R www-data:www-data /var/www/nextcloud</code>
 +
 +-- Configuration de la base de données
 +<code>mysql_secure_installation
 +Appuyer sur Entrer
 +Changer le pass root? Y
 +Rentrer le mot de passe de votre choix pour root
 +Retirer utilisateurs anonymes? Y
 +Interdire la connection au root à distance? Y
 +Supprimer la db de test? Y
 +Recharger la table de privilèges? Y</code>
 +
 +-- Créez un compte pour nextcloud sur la bd
 +<code>mariadb
 +> CREATE DATABASE nextcloud;
 +> CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'votrepassici';
 +> GRANT ALL PRIVILEGES ON nextcloud . * TO 'nextcloud'@'localhost';
 +> quit</code>
 +
 +-- __Installer Nextcloud__   (//enfin !//)
 +
 +###insert capture of example install page?###
 +
 +Remplissez les champs avec vos logins et pass, et bravo ! Vous avez installé Nextcloud !
 +A ce moment précis, il est fort possible que votre Nextcloud ne soit pas totalement configuré. Il est donc conseillé de régler ces problèes avant tout.
 +
 +Accèdez à l'**Overview** en cliquant sur l'engrenage en haut à droite, puis dans la colonne de gauche dans la catégorie 'Administration'
 +
 +//les instructions suivantes couvriront les erreurs reportées par Nextcloud pendant la création de ce tuto. Si les votres ne sont pas incluses, bonne chance, et n'oubliez pas de noter vos solutions ici !//
 +
 +Bien sûr, n'oubliez pas de recharger apache après chaque fix avec <code>systemctl restart apache2</code>
 +
 +**Augmenter la limite de mémoire pour PHP**
 +<code>nano /etc/php/7.3/apache2/php.ini</code>
 +Cherchez la ligne avec "memory_limit=", et changez la valeur par "**512M**".
 +
 +**Activer HSTS**
 +<code>nano /etc/apache2/sites-available/nextcloud-le-ssl.conf</code>
 +Ajoutez le header HSTS dans le tag <VirtualHost...>
 +<code><IfModule mod_headers.c>
 + Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
 +</IfModule>
 +
 +<Directory /var/www/nextcloud/>
 + AllowOverride All
 +</Directory></code>
 +Activez les modules correspondants
 +<code>a2enmod headers
 +a2enmod rewrite
 +systemctl restart apache2</code>
 +
 +**Installer APCu pour avoir un cache mémoire**
 +<code>apt install php-apcu</code>
 +Configurez Nextcloud afin d'utiliser APCu
 +<code>nano /var/www/nextcloud/config/config.php</code>
 +Ajoutez la ligne :
 +<code>'memcache.local' => '\OC\Memcache\APCu',</code>
 +
 +**Augmenter le temps de timeout**
 +<code>nano /var/www/nextcloud/lib/private/App/AppStore/Fetcher/Fetcher.php</code>
 +Chercher la ligne contenant 'timeout', et changer sa valeur
 +
 +
 +
 +
 +
 +
 +===== Installation de Collabora avec apache2 =====
 +
 +On va installer Collabora en utilisant Docker (maleureusement, c'est la façon la plus simple et pratique)
 +
 +**Installation de Docker**
 +
 +Docker n'est que rarement mis à jour sur les repos officiels d'Ubuntu, donc on va tricher et aller se servir directement à la source.
 +
 +Les instructions utilisées sont celles présentées ici [[https://docs.docker.com/install/linux/docker-ce/ubuntu]]
 +
 +Mais pour cela, il nous faut faire quelques ajouts
 +<code>apt install apt-transport-https ca-certificates curl software-properties-common
 +
 +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -</code>
 +Ajoutez le repo de Docker à votre liste (prenez le repo correspondant à votre architecture
 +<code>
 +add-apt-repository \
 +   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
 +   $(lsb_release -cs) \
 +   stable"
 +</code>
 +Et installez Docker
 +<code>apt update
 +apt install docker-ce</code>
 +
 +Vérifiez que docker tourne correctement
 +<code>systemctl status docker</code>
 +
 +**Installation et parametrage de Collabora**
 +
 +Commencez par créer un sous-domaine chez votre fournisseur DNS, redirigant sur votre server. Le nom du sous-domaine n'a pas d'importance, car il ne sera utiliser qu'à la configuration de Collabora.
 +
 +Installez ensuite l'application 'Collabora Online' dans Nextcloud.
 +Dans le menu 'Applications' -> 'Office & texte' -> et téléchargez l'app.
 +
 +Récupérez le conteneur de Collabora avec Docker
 +<code>docker pull collabora/code</code>
 +('//code//' étant le nom de code pour la version dev de Collabora)
 +
 +<code>docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.apo33\\.info' --restart always --cap-add MKNOD collabora/code</code>
 +
 +Vous pouvez ensuite utiliser <code>docker ps</code> pour vérifier que Collabora tourne 
 +
 +On suivera les instructions officielles de Nextcloud sur leur site [[https://nextcloud.com/collaboraonline]]
 +<code>
 +a2enmod proxy
 +a2enmod proxy_wstunnel
 +a2enmod proxy_http
 +a2enmod ssl
 +</code>
 +
 +Puis créez un fichier de config dans apache pour Collabora
 +<code>nano /etc/apache2/sites-availables/collabora.conf</code>
 +
 +Et coller la config donné sur le site de Nextcloud, sans oublier de remplacer le '//ServerName//' par le sous-domaine créé pour Collabora
 +<file collabora.conf>
 +<VirtualHost *:443>
 +ServerName office.nextcloud.com:443
 +
 +# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
 +SSLEngine on
 +SSLCertificateFile /path/to/signed_certificate
 +SSLCertificateChainFile /path/to/intermediate_certificate
 +SSLCertificateKeyFile /path/to/private/key
 +SSLProtocol             all -SSLv2 -SSLv3
 +SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
 +SSLHonorCipherOrder     on
 +
 +# Encoded slashes need to be allowed
 +AllowEncodedSlashes NoDecode
 +
 +# Container uses a unique non-signed certificate
 +SSLProxyEngine On
 +SSLProxyVerify None
 +SSLProxyCheckPeerCN Off
 +SSLProxyCheckPeerName Off
 +
 +# keep the host
 +ProxyPreserveHost On
 +
 +# static html, js, images, etc. served from loolwsd
 +# loleaflet is the client part of LibreOffice Online
 +ProxyPass           /loleaflet https://127.0.0.1:9980/loleaflet retry=0
 +ProxyPassReverse    /loleaflet https://127.0.0.1:9980/loleaflet
 +
 +# WOPI discovery URL
 +ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
 +ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery
 +
 +# Main websocket
 +ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon
 +
 +# Admin Console websocket
 +ProxyPass   /lool/adminws wss://127.0.0.1:9980/lool/adminws
 +
 +# Download as, Fullscreen presentation and Image upload operations
 +ProxyPass           /lool https://127.0.0.1:9980/lool
 +ProxyPassReverse    /lool https://127.0.0.1:9980/lool
 +
 +# Endpoint with information about availability of various features
 +ProxyPass           /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
 +ProxyPassReverse    /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
 +</VirtualHost>
 +</file>
 +
 +Il faut ensuite récupérer un certificat pour ce sous-domaine, et rendre les chemins vers ces fichiers manuellement. Courage, c'est presque fini !
 +
 +On retourne voir certbot, mais cette fois-çi avec une commande un peu différente. En effet, on ne va lui demander que le certificat. N'oubliez pas d'entrer votre domaine.
 +<code>certbot certonly -d votrecollabora.monpetit.domaine</code>
 +Selectionner '1', pour l'authentification avec Apache
 +
 +**Résultat :**
 +<code>
 + - Congratulations! Your certificate and chain have been saved at:
 +   /etc/letsencrypt/live/votrecollabora.monpetit.domaine/fullchain.pem
 +   Your key file has been saved at:
 +   /etc/letsencrypt/live/votrecollabora.monpetit.domaine/privkey.pem
 +</code>
 +
 +Prenez bien note de ce passage, car il contient les chemins vers les fichiers que l'ont veut rentrer dans notre fichier de config apache !
 +
 +Si on va voir ce qu'y se trouve au bout de ce chemin
 +<code>ls -al /etc/letsencrypt/live/votrecollabora.monpetit.domaine/</code>
 +On peut voir 4 fichiers, notez également leur noms.
 +
 +Retournez dans le fichier de config apache de Collabora
 +<code>nano /etc/apache2/sites-availables/collabora.conf</code>
 +Et éditez les 3 lignes suivantes avec les chemins que vous venez de noter
 +<code>
 +SSLCertificateFile /etc/letsencrypt/live/collabora.apo33.info/cert.pem
 +SSLCertificateChainFile /etc/letsencrypt/live/collabora.apo33.info/fullchain.pem
 +SSLCertificateKeyFile /etc/letsencrypt/live/collabora.apo33.info/privkey.pem
 +</code>
 +
 +Activez la config
 +<code>sudo a2ensite collabora.conf
 +Rechargez apache
 +<code>systemctl restart apache2</code>
 +? //Si apache ne redémarre pas, c'est que vous chemins sont incorrects// ?
 +
 +
 +**Si vos nouveaux fichiers créés avec Nextcloud sont en Allemand**
 +
 +Ce problème vient du fait que Nextcloud vient d'Allemagne, et donc que les fichiers templates ont été créés en Allemand.
 +Il faut donc modifier la langue de ces fichiers
 +
 +
 +===== Installation de Collabora avec nginx =====
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +====== YUNOHOST SERVER ======
 +
 +la meilleure découverte de ces jours-ci, yunohost est un des meilleurs projet d'intégration-serveur facile à mettre en oeuvre. Nous avons mis en place plusieurs serveurs pour gérer différents projets.
 +
 +===== installation du server =====
 +
 +télécharger et créer une clef usb avec la derniére version de Debian (Jessie - sept 2016) : https://www.debian.org/CD/netinst/
 +
 +suivre l'install debian : https://yunohost.org/#/install_on_debian en ne choisant que le debian de base, le ssh et une interface graphique du genre lxde (au cas où vous auriez des petits soucis via la console)
 +
 +par ailleurs, une fois la debian installé, le serveur ssh n'est pas installé... 
 +donc soit utiliser la console (debian sans interface graphique) pour télécharger ssh :
 +
 +<code>
 +apt-get install ssh
 +
 +ifconfig #adresse ip de la machine
 +
 +</code>
 +
 +soit synaptic dans l'interface graphique
 +
 +-pour gérer rapidement et facilement vos droits utilisateur et les commandes sudo, su... configurer votre utilisateur en fonction
 +
 +-très important : créer un utilisateur "admin", la post-installation de yunohost ne se fera pas sans cet utilisateur. (!!!!)
 +
 +puis suivre la démarche présenté ici pour installer yunohost-server : https://yunohost.org/#/install_manually
 +
 +ouvrir votre navigateur et entrer l'adresse IP de la machine server, la post-install vous demandera un mot de passe admin pour gérer votre interface.
 +
 +
 +===== faire fonctionner Yunohost server =====
 +
 +gestion simple de l'administration, installation des apps plus rapide. Il peut y avoir des petits soucis avec myowncloud et samba.
 +
 +
 +===== les problémes rencontrés =====
 +
 +-tentative d'installation de mailman / à ne pas faire pour l'instant (non stable, met le serveur et les base de données en vrac).
 +
 +
 +====== SERVER SME 9 ======
 +
 +
 +===== update du server SME 9 vers Koozali (Sme9.2) =====
 +
 +
 +===== mise à jour SME 8 vers 9 =====
 +
 +pas de mise à jour du 8 vers le 9!!
 +On continue sur SME malgré cette énorme difficulté de refaire notre serveur from scratch!
 +
 +info d'installation similaire au 8 (adapté au 9 - à venir)
 +
 +attention utiliser sa DB avec une surprotection (admin) not root = yes -> <code> mysql -u root -p </code>
 +
 +===== update octobre 2016 : backup & mise à jour du serveur 9 vers 9.1 =====
 +
 +Notre plus grand soucis : mettre à jour notre serveur sans tout mettre en l'air
 +
 +1er étape réussi, un backup de tout le serveur, nous avons monté un yunohost sur le même réseau et sauvegardé tout le serveur via ssh et rsync
 +
 +Nous utilisons l'opération rsync en mode pull (on améne les data vers le serveur qui nous sert de backup)
 +
 +<code>
 +rsync -avz username@remote_host:/home/username/dir1 place_to_sync_on_local_machine
 +</code>
 +
 +une fois le back up effectué, nous mettons à jour via l'interface SME pour tester son efficacité mais l'interface ne sait pas bien faire la reconfiguration, nous devons finir la post-installation à la main (terminal)
 +
 +<code>
 +signal-event post-upgrade; signal-event reboot
 +</code>
 +
 +le tour est joué, serveur mis à jour, back up effectué 
 +
 +__Reminder & cron-mail__
 +
 +nous avons préféré envoyer un rappel tous les mois pour faire un backup plutôt que de laisser un protocole ssh automatisé
 +si vous souhaitez le faire, suivez ce tuto :
 +http://blogmotion.fr/systeme/connexion-ssh-et-transfert-rsync-scp-sftp-sans-mot-de-passe-2709
 +
 +<code>
 +
 +cd /home/e-smith/files/ibays/tonrepertoire
 +
 +vi backup.sh
 +
 +#!/bin/bash
 +
 +mail -s "BACKUP NOW" user <<< 'lancer le back up!!! from backup machine rsync now!
 +
 +:x
 +
 +#pour lancer le scrit réguliérement
 +
 +cd /etc/e-smith/templates/etc/crontab
 +
 +vi reminder
 +
 +#backup now aka reminder dude
 +
 +30 10 10 * * root cd /path to directory/; ./backup.sh /
 +
 +:x
 +
 +#lancer le cron
 +
 +expand-template /etc/crontab
 +
 +service crond restart
 +
 +
 +</code>
 +
 +
 +===== Utiliser crontab pour créer un redémarrage automatique =====
 +
 +tout se passe dans /etc
 +
 +<code>
 +vi crontab
 +</code>
 +
 +rajouter vos script ou dans notre un reboot automatique du serveur
 +
 +<code>
 +30 23 * * * root reboot
 +</code>
 +
 +les minutes sont avant les heures, ce qui veut dire que notre serveur va redémarrer automatique tous les jours à 23h30
 +ici vous pouvez rajouter tout un tas de script et commande à faire de façon automatique chaque heure, chaque jour, mois ou année...etc
 +
 +<code>
 +# Example of job definition:
 +# .---------------- minute (0 - 59)
 +# |  .------------- hour (0 - 23)
 +# |  |  .---------- day of month (1 - 31)
 +# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
 +# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
 +# |  |  |  |  |
 +# *  *  *  *  *  user command to be executed
 +</code>
 +
 +une fois votre crontab configuré, il vous faut le rendre actif :
 +
 +<code>
 +expand-template /etc/crontab
 +</code>
 +
 +vérifier que le script a été pris en compte :
 +<code>
 +more /etc/crontab
 +</code>
 +
 +puis relancer le daemon cron
 +<code>
 +service crond restart
 +</code>
 +
 +
 +
 +
 +
 +
 +
 +
 +===== sécurité : script pour check les virus/spam/rootkit sur le serveur =====
 +
 +Pour éviter les surprises mal placés, un peu de routine en terme de sécurité ne fera pas de mal à votre serveur!
 +
 +<code>
 +
 +cd /home/e-smith/files/ibays/tonrepertoire
 +
 +mkdir scan.tmp
 +
 +vi checkvirus.sh
 +
 +#copier ce script
 +
 +#!/bin/bash
 +
 +freshclam
 +rm -f scan.tmp
 +path=$1
 +clamscan -r --bell -i $path >> scan.tmp
 +result=$(grep "Infected files: 0" scan.tmp)
 +return_result=$?
 +
 +if [ $return_result -eq 0 ]
 +
 + then  mail -s "Rapport Virus Scan : Ras" -a scan.tmp tonloginemail <<< 'Rien à signaler !'
 + else  mail -s "Rapport Virus Scan : Pblm detected !" -a scan.tmp tonloginemail <<< 'Il se peut q un virus soit entré ! (vérifiez piece jointe)'
 +
 +fi
 +
 +rm -f scan.tmp
 +
 +
 +:x (pour valider)
 +
 +
 +#pour lancer le script
 +
 +cd /etc/e-smith/templates-custom/etc/
 +
 +vi crontab
 +
 +# Run custom script with cron
 +10 7 * *  * root cd /home/e-smith/files/ibays/tonrepertoire/; ./checkvirus.sh /
 +
 +:x
 +
 +#lancer le cron
 +
 +expand-template /etc/crontab
 +
 +service crond restart
 +
 +
 +</code>
 +
 +
 +===== installation wordpress =====
 +
 +==== fixer le probléme du "missing temporary file" ====
 +
 +__c'est un bug de SME server à fixer de cette façon :__
 +
 +Only 5 variables in the php.ini file can be set using the '''setprop''' commands in SMEServer. Whilst the file upload variable is set to '''On''' by default, the '''upload_tmp_dir''' variable is not set and hence has no value in a regular install. The following will set it to '''/home/e-smith/files/tmp''' for '''''all ibays''''' - if that is what you want. The execute (x) permission is essential for the web server user.
 +
 + // mkdir -p : no error if existing, make parent directories as needed // à faire en ligne de commande sur le serveur!!
 +
 + mkdir -p /home/e-smith/files/tmp
 +
 + chmod 2770 /home/e-smith/files/tmp
 +
 + chown admin:www /home/e-smith/files/tmp
 +
 + mkdir -p /etc/e-smith/templates-custom/etc/php.ini
 +
 + cp /etc/e-smith/templates/etc/php.ini/50PathsDirectories /etc/e-smith/templates-custom/etc/php.ini
 +
 + echo upload_tmp_dir = \"/home/e-smith/files/tmp\" >> /etc/e-smith/templates-custom/etc/php.ini
 +
 + expand-template /etc/php.ini
 +
 + sv t httpd-e-smith
 +
 +--
 +
 +source : https://pve.proxmox.com/mediawiki/index.php?title=SMEServer_PHP_upload_tmp_dir&action=edit
 +
 +--
 +
 +__puis installer le wordpress (méthode user friendly)__
 +
 +-create ibay in server-manager
 +
 +-download wordpress sur votre ordinateur et le décompresser
 +
 +-transfer via ftp dans le répertoire de votre futur site (html) avec l'utilisateur qui va servir à organiser le futur wordpress
 +
 +-créer votre base de donnée du site via phpmyadmin ou commande mysql sur le serveur directement
 +
 +-allez sur votre http://yourdomain/wordpress pour démarrer l'install / "let's go" + info database + admin wordpress
 +
 +une fois installé, tester l'upload photos, normalement vous ne pouvez toujours pas écrire dans wp-content, donner les permissions 775 à wp-content / soit via le ftp soit en ligne commande root :
 +
 +chmod -Rf 775 wp-content
 +
 +
 +ensuite aucun probléme pour uploader des photos
 +
 +-pour installer théme et plugin, veuillez utiliser le même utilisateur ftp que pour l'installation
 +
 +et voilà!!!
 +
 +Si le probleme persiste il y a cette solution qui consiste à attribuer le dossier tmp à son site web et inversement en créant les liens symboliques entre les deux :
 +
 +<code>db accounts setprop "ibayName" AllowOverride All</code>
 +<code>db accounts setprop "ibayName" FollowSymLinks enabled</code>
 +<code>db accounts setprop "ibayName" PHPBaseDir /home/e-smith/files/ibays/"ibayName"/:/tmp/</code>
 +<code>signal-event ibay-modify "ibayName"</code>
 +
 +En remplaçant "ibayName" par le nom de votre ibay
 +
 +__Constat du 26/11/2018 :__ une fois cette méthode utilisé, une nouvelle erreur apparaît http error quand on upload des images, méthode pour résoudre le problème : https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-http-image-upload-error-in-wordpress/
 +
 +rajouter cette ligne <code>define( 'WP_MEMORY_LIMIT', '256M' );</code> dans votre fichier de config wordpress - wp-config.php file
 +
 +
 +---
 +
 +
 +Autre solution décrite [[http://www.hongkiat.com/blog/update-wordpress-without-ftp/| ici ]] est de modifier votre fichier wp-config.php et 
 +d'inscrire tout à sa fin :
 +<code>define('FS_METHOD','direct');</code>
 +=== probléme rencontré avec install Dokuwiki ===
 +
 +petit soucis d'install dokuwiki via ftp, pas les bonnes permission pour éditer, solution via console ssh
 +
 +chown -R root:buro *
 +
 +chown -R www:buro conf
 +
 +chown -R www:buro data
 +
 +
 +==== wordpress et les malware / script injection ====
 +
 +Nous avons réguliérement des problémes avec des zozos du réseau qui mettent des scripts de spam sur nos serveurs.
 +
 +__Les solutions les plus puissantes jusqu'à présent testé sont :__
 +
 +calmAV avec la commande suivante sur vos site web
 +
 +<code>
 +clamscan -r --bell -i votrerépertoire
 +</code>
 +
 +et test d'intrusion sur votre serveur
 +
 +<code>
 +nmap -A adressIP ou DNS
 +</code>
 +
 +pour les plugins wordpress nous sommes en train de faire le tour, beaucoup marche moyennement et demande des upgrade pro pour leur meilleurs solutions... 
 +
 +Antivirus permet de scanner les thémes, nous cherchons un outils de scan de l'ensemble des fichiers, peut-être allons nous écrire notre propre script.
 +
 +__ATTENTION!! nous avons découvert que le plugin "Vimeography" permettait d'injecter un malware sur votre serveur pour envoyer des spams via votre server/IP/Dns!! n'utilisez pas ce plugin.__
 +
 +
 +__continuité des problémes de malware__
 +
 +de nouveau script sont posés dans le upload d'un wordpress, changement de permission et petit clean
 +
 +trés bon tuto pour scanner les répertoires pour trouver les scripts dégeu : http://www.gregfreeman.io/2013/how-to-tell-if-your-php-site-has-been-compromised/
 +
 +ceux que nous avons appliqués :
 +
 +<code>
 +find . -type f -name '*.php' -mtime -7
 +
 +find . -type f -name '*.php' | xargs grep -l "eval *(" --color
 +find . -type f -name '*.php' | xargs grep -l "base64_decode *(" --color
 +find . -type f -name '*.php' | xargs grep -l "gzinflate *(" --color
 +
 +</code>
 +
 +
 +Sinon test avec un scanner de vulnérabilité WPSCAN
 +
 +install - https://blog.sucuri.net/2015/10/install-wpscan-wordpress-vulnerability-scan.html
 +
 +utilisation - https://blog.sucuri.net/2015/12/using-wpscan-finding-wordpress-vulnerabilities.html
 +
 +
 +==== Problème URL wordpress ====
 +
 +Parfois lorque l'on a plusieurs site web sur un serveur sme un nouveau site créé peut avoir des soucis de redirection URL.
 +
 +Exemple : 
 +
 +On a un serveur avec un DNS principal <code>http://apo33.org</code>. On veut créer un ibay (un site secondaire) dont l'adresse web est <code>http://electropixel.org</code>.
 +
 +Par défaut l'url ou adresse web du site <code>http://electropixel.org/</code> peut lorsque l'on va dans d'autres pages se retrouver sous la forme <code>http://apo33.org/electropixel/page12.php</code> et on veut qu'elle reste sous la forme <code>http://electropixel.org/pages12</code>
 +
 +
 +Pour corriger cela il suffit de changer l'adresse url principale du site web :
 +
 +Dans le menu Tools (Outils) Settings (Paramètres) comme ceci :
 +
 +{{:serveurs:wordpresspermalinks.png?600|}}
 +
 +
 +
 +
 +==== DKIM / SPF et DNS pour l'envois d'email ====
 +
 +Suite à des problémes d'emails (gmail...etc) de nos serveurs, nous avons réalisé qu'il fallait être attentif à l'ensemble des infos qu'il faut déclarer pour bien expliciter que c'est nous qui envoyons les emails et pas un spammeurs ou d'autres personnes (notamment dans la cyberwar actuelle).
 +
 +Pour notre serveur SME, il nous faudra naviguer à vue, sachant que tout n'a pas l'air de fonctionner à 100% quand on vérifie notre DNS sur différentes plateformes.
 +
 +tout d'abord vérifier le MX de votre DNS/Serveur (envois email) : https://toolbox.googleapps.com/apps/checkmx/
 +
 +la configuration de vos emails pour SME : https://wiki.koozali.org/Email#DKIM_Setup_-_qpsmtpd_version_.3E.3D_0.96
 +
 +spécifiquement le DKIM : https://wiki.koozali.org/Qpsmtpd:dkim
 +
 +tester votre email (3 test max / jour) : https://www.mail-tester.com/
 +
 +un autre check de votre serveur : https://check.spamhaus.org/
 +
 +
 +
 +
 +
 +
 +
 +
 +==== dns spoofing & solution ====
 +
 +un autre cas sur lequel nous avons travaillé est l'usurpation de DNS, ce que l'on appelle le spoofing
 +
 +pour vous permettre d'envoyer des emails sans être rejeté par d'autres serveurs, veuillez suivre cette simple démarche :
 +
 +-tester et trouver votre SPF : http://www.kitterman.com/spf/validate.html
 +
 +Le SPF = (Sender Policy Framework), cela permet de vérifier sur votre DNS est bien lié à votre IP, si vous n'avez pas validé cela auprés de votre fournisseur de DNS, vous pouvez avoir des spoofing sur votre DNS, C'est une pratique courante, donc à résoudre à un moment donné.
 +
 +une fois que vous avez récupérer votre SPF record, copié le en enregistré le sur votre gestionnaire de DNS sous cette forme :
 +
 +"@ SPF "google-site-v … sPDNHfM0a6s" 3h"
 +
 +suivre un tuto pour son implementation dans votre DNS, nous utilisons gandi : https://www.mail-tester.com/spf/gandi
 +
 +
 +
 +
 +
 +
 +
 +====== SERVER SME 8 BACK ON TRACK! ======
 +
 +===== ressources =====
 +
 +théorique : http://www.logiciel-libre.org/book/export/html/282
 +
 +le site ressource en FR : http://smefr.free.fr/index.php
 +
 +le site contrib "of course" : http://wiki.contribs.org/SME_Server_8
 +
 +avec la partie admin : http://wiki.contribs.org/SME_Server:Documentation:Administration_Manual:Chapter13
 +
 +
 +
 +===== bidouilles =====
 +
 +install SME8 - test from scratch sur le mode "server-only mode"
 +
 +télécharger la dernière version stable : http://wiki.contribs.org/SME_Server:Download / graver un cd et lancer l'installation sur votre machine.
 +
 +{{serveurs:server_only_mode.jpg|}}
 +
 +**Pourquoi?**
 +
 +Car dans la plupart des cas il est plus évident d'utiliser son modem comme firwall / router (gateway). Pour mettre e pied à l'étrier, il est préférable de s'attaquer à SME sous le mode du server web. Ce que nous allons faire!
 +
 +
 +**l'installation :** 
 +
 +Nous avons suivi les consignes affichés à l'installation et si vous avez un doute suivre la documentation de l'installation suivante : http://wiki.contribs.org/SME_Server:Documentation:Administration_Manual:Chapter5 
 +
 +**post-install :**
 +
 +__-créer un utilisateur :__
 +
 +-petit soucis avec le niveau de sécurité et le choix du mot de passe. 
 +
 +apparemment on peut réduire le niveau de sécurité avec la commande :
 +
 +<code bash>
 +config setprop password strengh Users normal
 +
 +config setprop password strengh Ibays normal
 +</code>
 +
 +on peut changer de "strong" à "normal" à "none" dans notre cas cela n'a rien changé vis à vis du niveau de mot de passe, obligé de générer un password avec ce type de programme : http://strongpasswordgenerator.com/
 +
 +
 +__rajouter un disque data en plus pour l'archivage__
 +
 +test fait à labsin : http://smeserver.fr/astuces.php?astuce=fs_add_hd
 +
 +
 +===== les outils =====
 +
 +
 +==== les DNS ====
 +
 +créer son nom de domaine
 +
 +Dans le server-manager de SME - voir gestion des domains / manage domains
 +
 +rajout de son nom de domaine
 +
 +
 +
 +__en terme de DNS!!__
 +
 +-ne pas avoir de DNS! - IP public direct (idéal!) pas de suivis moteur de recherche comme gogole et difficulté à recevoir des emails - to be tested!
 +
 +-http://www.noip.com/ --> http://www.noip.com/downloads.php?page=linux
 +
 +-http://freedns.afraid.org/ --> ok ça marche directement : une IP fixe public, un sous domaine tata.mooo.com et voilà c'est en ligne en qques secondes - impressionant! / test à faire sur email
 +
 +
 +-autrement je teste https://pagekite.net qui passe par un tunnel à partir de n'importe quel machine/server/localhost
 +
 +docs :
 +Dynamic DNS : http://wiki.contribs.org/SME_Server:Documentation:Administration_Manual:Appendix#Dynamic_DNS_Services
 +
 +FULL DNS virtual host : http://sysnotes.wordpress.com/2008/03/06/virtual-web-hosting-on-sme-server-with-ibays/
 +
 +==== donner accès à l'ibays Primary ====
 +
 +ouvrir un terminal
 +
 +ssh adress_IP
 +
 +<code>
 +chown -R username /home/e-smith/files/ibays/Primary
 +</code>
 +
 +==== l'email ====
 +
 +Dans server-manager voir email settings :
 +
 +configuration du système de gestion des emails, avec anti-spam, anti-virus, pop/imap et webmail
 +
 +==== le ftp et ssh ====
 +
 +voir remote access dans security
 +
 +en post-install/config : 
 +
 +ssh : allow public access / internet - control ssh à partir d'internet (ip fixe)
 +
 +Ftp : allow public access / internet - accès ftp depuis votre client favoris
 +
 +
 +==== le wordpress ====
 +
 +**création d'une ibays** (ou install dans le Primary si site principal du server) :
 +
 +- dans collaboration : information bays - add i-bay
 +
 +- information bay name : nom de votre ibay (myadress.com/ibay)
 +
 +- description : blabla blala
 +
 +- choose your group (c'est mieux de créer un groupe d'utilisateurs en amont, si multi-utisateur, voir groups dans collaboration)
 +
 +- User access via file sharing or user ftp : en générale - write = group (si vous voulez avoir les users actifs dans leur ibay) et read=everyone
 +
 +- Public access via web or anonymous ftp : en général si vous mettez en route un worpress c'est pour être vu, alors : entire internet (no password)
 +
 +- Execution of dynamic content (CGI, PHP, SSI) : enabled
 +
 +puis add 
 +
 +enfin le wordpress :
 +
 +ouvrir un terminal - se loger en ssh sur son server
 +
 +télécharger le latest : http://wordpress.org/download/ 
 +
 +clique droit sur le paquet tar : http://wordpress.org/latest.tar.gz
 +
 +<code bash>
 +
 +cd /home/e-smith/files/ibays/nomibay/html
 +
 +rm index.html
 +
 +wget http://wordpress.org/latest.tar.gz
 +
 +tar xvfz latest.tar.gz
 +
 +cd wordpress
 +
 +mv * ..
 +
 +cd ..
 +
 +</code>
 +
 +ensuite, il faut créer un base de donnée pour le wordpress en question via mysql
 +
 +toujours dans le terminal :
 +
 +<code bash>
 +
 +mysql
 +
 +mysql> CREATE DATABASE mywordpress;
 +
 +mysql> GRANT ALL ON mywordpress.* TO username@localhost IDENTIFIED BY 'motdepasse';
 +
 +mysql> quit
 +
 +</code>
 +
 +puis éditer le fichier de config :
 +
 +<code bash>
 +
 +cp wp-config-sample.php wp-config.php
 +
 +vi wp-config.php
 +
 +// ** MySQL settings - You can get this info from your web host ** //
 +/** The name of the database for WordPress */
 +define('DB_NAME', 'mywordpress');
 +
 +/** MySQL database username */
 +define('DB_USER', 'username');
 +
 +/** MySQL database password */
 +define('DB_PASSWORD', 'motdepasse');
 +
 +/** MySQL hostname */
 +define('DB_HOST', 'localhost');
 +
 +/** Database Charset to use in creating database tables. */
 +define('DB_CHARSET', 'utf8');
 +
 +/** The Database Collate type. Don't change this if in doubt. */
 +define('DB_COLLATE', '');
 +
 +:x
 +
 +
 +</code>
 +
 +retour sur un navigateur :
 +
 +http://myserver.com/ibay
 +
 +suivre la configuration proposé par wordpress avec mot de pass admin...etc
 +
 +et voilà!
 +
 +
 +
 +
 +==== le wiki ====
 +
 +Il y a des dizaines de wiki différentes sur le web! Dans notre cas nous allons utiliser le dokuwiki un wiki sans base de donnée, extrêmement pratique car ultra-portable et jamais rien à faire avec les problèmes d'upgrade de server.
 +
 +-même chose que pour le wordpress : add i-bay (voir plus haut)
 +
 +-une fois l'ibay créer, télécharger la dernière version de Dokuwiki : http://www.splitbrain.org/projects/dokuwiki
 +
 +se loger en ssh dans l'ibay créé (même méthode que pour le wordpress)
 +
 +<code bash>
 +
 +cd /home/e-smith/files/ibays/dokuwiki/html
 +
 +rm index.html
 +
 +wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2012-10-13.tgz
 +
 +tar xvfz dokuwiki-2012-10-13.tgz
 +
 +cd dokuwiki-2012-10-13
 +
 +mv * ..
 +
 +cd ..
 +
 +</code>
 +
 +si vous ouvrez un navigateur avec l'adresse http://myadress.com/dokuwiki vous devriez avoir une erreur de permissions.
 +
 +La solution la plus fastidieuse et la plus sérieuse au niveau admin est celle du .htaccess : https://www.dokuwiki.org/security#web_access_security
 +
 +à l'heure de où l'on réalise ce tuto, je n'ai pas le temps de passer sur ça (à venir dès que j'ai du temps) donc je fais un raccourci de fainéant : chmod -Rf 777 * dans le dossier du dokuwiki (ne faîtes pas ça si vous ne savez pourquoi vous le faîtes) ;-) **DANGEROUS!!!**  
 +
 +bref reloader la page et vous devriez avoir un fichier de configuration du wiki avec nom, mot de passe admin...etc suivre le processus.
 +
 +
 +==== l'archivage / diffusion ====
 +
 +Subsonic - http://www.subsonic.org/pages/installation.jsp (suivre cette technique d'install) + start subsonic : /etc/init.d/subsonic start
 +
 +acces public : http://sourceforge.net/apps/mediawiki/subsonic/index.php?title=FAQ
 +
 +to test on local server!!
 +
 +
 +
 +
 +==== le server icecast ====
 +
 +
 + reprendre ce tuto : http://apo33.org/apotek/doku.php?id=serveurs:icecast2
 +
 +__installer icecast sur SME8__
 +
 +<code bash>
 +
 +cd /usr/src 
 +
 +yum install gcc - attention il install glibc et un nouveau kernel (à prendre avec des pincettes)
 +yum install SDL-devel
 +yum install vorbis-tools libvorbis-devel 
 +yum install SDL-devel
 +yum install vorbis-tools libvorbis-devel
 +yum install libtheora
 +yum install libxslt-devel
 +
 +wget http://downloads.xiph.org/releases/icecast/icecast-2.3.3.tar.gz
 +
 +tar xvfz icecast-2.3.3.tar.gz
 +
 +cd icecast-2.3.3
 +
 +./configure
 +make
 +make install
 +
 +
 +</code>
 +
 +__configuration du serveur__
 +
 +Dans le répertoire ./conf des sources de Icecast, sont disponibles plusieurs fichiers de configuration possible,copiez celui qui vous semble le mieux dans /etc et faites y en accords avec la doc de icecast vos modification
 +
 +<code>
 +cd conf 
 +ls 
 +cp icecast.xml.dist /etc/icecast.xml
 +</code>
 +
 +Faites la création d’un utilisateur qui lancera icecast et du repertoire de log :
 +
 +<code>
 +groupadd icecast
 +adduser icecast -G icecast 
 +mkdir -p /var/log/icecast
 +chmod 664 /var/log/icecast
 +chown icecast:icecast /var/log/icecast
 +</code>
 +
 +mais sur la mise à jour du tuto de sme7 vers sme8, voici ce que je rajouterai en plus :
 +car par default le bin de icecast viens se loger dans /usr/local/bin et donc il cherche les log dans /usr/local/var/log/icecast
 +donc il faut créer  var, log et icecast puis error et access :
 +
 +<code>
 +mkdir /usr/local/var
 +mkdir /usr/local/var/log/
 +mkdir /usr/local/var/log/icecast
 +vi error.log
 +vi access.log
 +chown -R icecast /usr/local/var
 +chmod -R 777 /usr/local/var
 +</code>
 +
 +et modifiez le fichier de configuration, changez la fin en (pas de copier/coller, changer le fichier, probléme d'incrémentation en xml) :
 +
 +<code>
 +<security>
 +        <chroot>0</chroot>
 +        <changeowner>
 +            <user>icecast</user>
 +            <group>icecast</group>
 +        </changeowner>
 +</security>
 +</code>
 +
 +
 +
 +puis créer un utilisateur toto avec son password.
 +
 +et démarrer le serveur icecast :
 +
 +<code>
 +
 +sudo -u toto icecast -c /etc/icecast.xml -b
 +
 +</code>
 +
 +intégrer le tout dans le rc.local (marche pas encore pour moi / à tester) : http://icecast.imux.net/viewtopic.php?t=28
 +et la doc pour icecast : http://www.icecast.org/docs/icecast-2.3.3/
 +
 +
 +
 +
 +====== UBUNTU 10.04 SERVER LTS ======
 +
 +===== retour d'expérience & autres bidouilles =====
 +
 +
 +===== DNS ubuntu - virtual host =====
 +
 +-start a website on your server : myserver.org/mysite
 +
 +-take a dns at gandi (for example) : mysite.org
 +
 +-configure DNS at Gandi (edit zone) - choose "A" for value and put the public IP of your server myserver.org (@ - www)
 +
 +-for ubuntu server use webmin to set up a new virtual host in "servers" (sidebar) and then "web apache server" - create a new virtual host : the path "/var/www/mysite", the dns name "mysite.org"
 +
 +-once the virtual host created, something like "webmin.1351771546.conf" in /etc/apache2/sites-enabled then you could move to your own name "mv webmin.1351771546.conf mysite.conf"
 +
 +-then edit mysite.conf and change <VirtualHost mysite:80> to <VirtualHost *:80> and add ServerName and ServerAlias.
 +
 +-restart apache2 : /etc/init.d/apache2 restart
 +
 +
 +<code bash>
 +
 +###############
 +
 +<VirtualHost *:80>
 +DocumentRoot "/var/www/mysite"
 +ServerName www.mysite.org
 +ServerAlias mysite.org *.mysite.org
 +<Directory "/var/www/mysite">
 +allow from all
 +Options +Indexes
 +</Directory>
 +</VirtualHost>
 +
 +###############
 +
 +</code>
 +
 +
 +
 +
 +==== copie du server ubuntu 10.04 ====
 +
 +__de chez ubuntu directement :__
 +
 +http://doc.ubuntu-fr.org/serveur#sauvegarde
 +
 +__avec clonezilla :__
 +
 +http://clonezilla.org/clonezilla-SE/
 +
 +une méthode : http://ubuntuforums.org/showthread.php?t=1216081
 +
 +__en mode backup :__
 +
 +http://ubuntuforums.org/showthread.php?t=35087
 +
 +__avec remastersys :__
 +
 +http://www.geekconnection.org/remastersys/ubuntu.html
 +
 +__avec G4L :__
 +
 +http://sourceforge.net/projects/g4l/
 +
 +
 +==== Etherpad sur ubuntu 10.04 ====
 +
 +
 +suivre tuto : https://help.ubuntu.com/community/Etherpad-liteInstallation
 +
 +19/09/12 : probléme avec démarrage, voir différence avec la version des dépôts
 +
 +==== messagerie - liste ====
 +
 +
 +how to messagerie / email : http://doc.ubuntu-fr.org/serveur#courrier_electronique
 +
 +
 +
 +==== installer les services de bases ====
 +
 +__installer webmin__ : http://it.thelibrarie.com/weblog/?p=498
 +
 +__installer wordpress :__
 +
 +  * mettez vous a la racine de votre serveur web (pour ma par /var/www/)
 +
 +<code>
 +wget http://fr.wordpress.org/wordpress-3.0.1-fr_FR.zip //# télécharger le répertoire de Wordpress//
 +unzip wordpress-3.0.1-fr_FR.zip //# décompresser l'archive//
 +</code>
 +
 +  * créer une base de données wordpress (via phpmyadmin pour ubuntu serveur)
 +
 +  * Dans votre navigateur internet taper l'URL: http://"IP DE VOTRE SERVEUR"/wordpress
 +
 +  * Suiver ce qu'il vous dis!
 +
 +  * Une fois arriver a une page d'erreur créer un fichier /var/www/wordpress/wp-config.php et copier le code qu'il vous donne dans votre nouveau fichier.
 +
 +  * retaper l'URL: http://"IP DE VOTRE SERVEUR"/wordpress/ et hop en avant les sites...!
 +
 +====== BIDOUILLE sme 7 ======
 +
 +===== mailman bricolage =====
 +
 +en attendant de migrer le mailman, voici des combines / lignes de commande utiles
 +
 +pour exporter les adresses des utilisateurs d'une mailing list :
 +
 +<code>
 +
 +cd /usr/lib/mailman/bin
 +
 +./list_members nom_mailing_list > subscribers.txt
 +
 +</code>
 +
 +plus d'infos : http://www.asitis.org/mailman-export-list-users
 +
 +
 +
 +
 +
 +===== PHP5 & consorts! =====
 +
 +
 + * mise à jour PHP5 & sélection ibays pour utilisation php5 : http://bricoles.du-libre.org/doku.php/sme:php5
 +
 + * update dokuwiki - version utilisant php5
 +
 +ouvrir un terminal
 +
 +télécharger dernier dokuwiki dans le répertoire du dokuwiki à updater : http://www.splitbrain.org/projects/dokuwiki - wget
 +
 +##################
 +
 +<code bash>
 +
 + tar xvfz versiondokuwiki.tar.gz
 +
 + cd repertoire_dokuwiki
 +
 + tar cvfz /tmp/wiwi.tar.gz * (compression dans tmp)
 +
 + cd ..
 +
 + tar xvfz /tmp/wiwi.tar.gz
 +
 + ls -l
 +
 + chown -R www:www *
 +
 + chmod 777 data data/* conf
 +
 +</code>
 +
 +##################
 + 
 +
 +===== Serveur: le Robot Communicant =====
 +
 +**ATTENTION CETTE DOCUMENTATION S'ARRETE SOUVENT A SME 6 !**
 +
 +Une nouvelle page par la sur [[http://bricoles.du-libre.org]], ou je commence par SME 7.4
 +
 +
 +
 +  *  petits rappels de trucs et autres sur sme 7.4
 +    * yum : installer des paquets dans les règles de l'art
 +  *  Openfire un serveur jabber sur SME
 +  *  installation PHP5 sans problemes
 +  *  Installer RubyOnRails sur SME
 +  *  installer OpenStreetMap sur SME
 +  *  Installer le serveur de liste mailman sur SME
 +  * .../...
 +
 +
 +
 +
 +
 +Nous fairons deux cas qui je pense englobent plus justement des solutions à deux approches que j'ai constaté
 + 
 +
 +==== 1 Serveur et passerelle ====
 + 
 +{{serveurs:server_and_gateway_mode.jpg|Machine unique}}
 +
 +Dans ce premier cas, l'idée est connecter une machine sur Internet, machine qui sera visible comme un site Internet pour les visiteurs exterieurs, et de pouvoir connecter autant de machine chez nous pour faire ce qu'on veut.
 +  * Cette machine sera autonome et ne nécessitera pas d'intervention directe.
 +  * Elle sera un bastion pour protéger notre réseau local
 +  * Elle sera une passerelle vers Internet pour toutes nos autres machines
 +  * Elle abritera tous les services et automates dont on aurait besoin
 +
 +
 +==== 1 Serveur seul ====
 +
 +{{serveurs:server_only_mode.jpg| Plusieurs Machines}}
 +
 +Dans ce deuxième cas, l'idée est de séparer les fonctions sur au moins deux machines .
 +  * Une machine connectée à Internet faisant bastion et passerelle
 +  * Une ou plusieurs autres comme serveurs pour nos sites web, messageries, scopitone, etc
 +
 +Cela peut être une évolution du premier cas, le serveur passant derrière son bastion, mais c'est aussi une vision à envisager dès le début si vous ête déja structurer et qu'il y à une partie bureautique qui ne veut pas être géné par une autre plus experimentale, ne pas mélanger l'administration, la compta avec le streaming et les srcipts php débridés. En plus, mettre ses règles de sécurités et de routage sur un bastion séparé est un gage de facilité et de souplesse. 
 +
 +==== Passerelle Internet ====
 +
 +Dans le cas d'un reseau plus structurer  aller par la 
 +[[serveurs:passerelle|installer une passerelle/bastion]]
 +
 +==== Serveurs ====
 +Etudions le cas d'une installation simple autour de 2 distributions , Free-eos et SME.
 +Free-eos offre plus de service que SME car il est basé sur lui mais en contrepartie, des choix ont été fait qui ne seront pas forcement les votres ...Donc il vous faut regarder les possibilités de free-eos, si cela vous suffi, il sera plus rapide à installer puisque tout près.
 +
 +Pour la petite histoire, Free-eos est un dérivé de SME qui est une évolution de e-smith basée sur une Redhat epurée et Ipcop un dérivé de SmoothWall qui est maintenant en grande partie sous licence commerciale
 +
 +====La distribution GNU/GPL FREE-EOS====
 +
 +Extrait du site :
 +
 +Le serveur [[http://free-eos.org/|Free-EOS]] est une solution de multi-serveurs/passerelle francisée dont la devise est "Vite, Simple et Bien". Il vous offre la possibilité -et ce sans connaissance technique poussée- de :
 +
 +  * Partager votre connexion internet (modem RTC, RNIS ou ADSL Ethernet), 
 +  * Protéger votre réseau avec son firewall automatisé, 
 +  * Partager vos imprimantes, 
 +  * Gérer votre réseau que les stations soient sous Windows, Mac ou GNU/Linux, 
 +  * Héberger vos sites web, email (avec antivirus et webmail), intranet, extranet, 
 +  * Héberger un annuaire des utilisateurs 
 +  * Installer des applications web (sites dynamiques tels des forum, gestion de projet, système de publication...)
 +En quelques clics, 
 +  * Gérer des listes de discussion/diffusion, 
 +  * Héberger un serveur de messagerie instantanée, 
 +  * Sauvegarder et restaurer des images-disque des stations, 
 +  Et bien plus...
 +
 +Le serveur Free-EOS s’installe sur une machine dédiée, pas forcément très puissante, et s’administre depuis votre poste de travail via une interface web simple et conviviale, avec votre navigateur habituel.
 +
 +Caractéristiques du système:
 +
 +  * serveur Web dynamique (CGI Perl, PHP) 
 +  * serveur Web d’administration sécurisé 
 +  * serveur de messagerie (SMTP, POP, IMAP) 
 +  * serveur FTP 
 +  * serveur NTP (serveur de synchronisation des postes clients) 
 +  * serveur MySQL (serveur de base de données) 
 +  * serveur LDAP (annuaire d’entreprise) 
 +  * serveur de messagerie instantanée (via Jabber) 
 +  * contrôleur de domaine Netbios (via Samba) 
 +  * serveur PPTP (VPN pour une accès distant sécurisé au LAN) 
 +  * administration distante par SSH 
 +  * serveur DHCP 
 +  * serveur mandataire (proxy) transparent 
 +  * serveur DNS cache pour le LAN 
 +  * pare-feux 
 +  * routeur NAT pour les postes du LAN 
 +  * serveur de stockage d’images disques (Partimage) 
 +  * VPN IPSEC 
 +  * gestion des comptes utilisateurs avec espace personnel 
 +  * gestion des groupes avec espaces mutualisés 
 +  * gestion d’applications Webs (LAMP) dédiées à un groupe 
 +  * gestion des quotas disques 
 +  * gestion des domaines virtuels 
 +  * sauvegardes/restaurations sur bande ou poste de travail 
 +
 +il comprend des applications web comme :
 +
 +  * spip (1.8) cms multilingue 
 +  * ganesha (3.0.7) platedorme de télé-formation 
 +  * phpbb (2.0.14) forum 
 +  * moodle (1.4.4) cms orienté éducation 
 +  * galette (0.62a) 
 +  * webcalendar (1.0RC) 
 +  * claroline (1.5.3) gestion de télé-formation 
 +  * clamav (0.83) antivirus 
 +  * application web GRR (Gestion de réservation de ressources) 
 +  * application web agora-project (groupware) 
 +  * application web phorum5 (forum) 
 +  * application web mediawiki (le wiki de wikipedia) 
 +  * application web dotclear (weblog) 
 +  * nut (gestion d’onduleur) 
 +  * lshw ressource système 
 +  * bind gestion de DNS 
 +  * apache gestionnaire de site 
 +  * mysql gestion base de donnee 
 +  * gestion de sauvegadre 
 +
 +====La distribution GNU/GPL SME==== 
 +
 +Je reprends ici la page de [[http://www.contribs.org|contribs.org]] le site principal pour SME que je vous invite a compulser.
 +
 +**Le serveur SME, c’est quoi ?**
 +
 + * Le serveur SME est un serveur reseau simple d’utilisation, fiable, robuste et extensible. Les Avantages !
 +
 + * Le serveur SME est un progiciel GPL qui, une fois installé sur un ordinateur PC-COMPATIBLE, le transforme en serveur de communications facile à utiliser, basé sur Linux. Quand vous reliez le serveur SME à l’Internet et à votre réseau, il vous fournit une suite complète de services essentiels de gestion de réseau pour les communications et la collaboration internes et externes.
 +
 + * Le serveur SME est réellement une version modifiée de ’chapeau rouge’ (RedHat)Linux, un des systèmes d’expoitation les plus connus au monde.
 +
 + * Cette distribution de Linux a été simplifiée en pré-configurant tous ses éléments, la sécurité, le disque dur, les modules ... . La procédure d’installation a été automatisée, et facilitée au maximum, ne posant ’qu nombre minimal de questions.
 +
 + * De plus, extrèmenet facile a utiliser et administrer, grace a son interface intégrée ... également disponible en français !.
 +
 + * En quelques minutes vous aurez un serveur Linux parfaitement configuré que vous pouvez administrer à partir de votre explorateur intenet.
 +
 + * Vous n’avez besoin d’aucune formation spécialisée, vous serez plus rapidement opérationnel que ce que vous avez imaginé !.
 +
 + * Ce serveur SME, peut être ajouté à n’importe quel réseau existant, compatible avec les machines de Microsoft Windows, de Macintosh ou de Linux/Unix.
 +
 + * Le choix du système d’exploitation de vos stations de travail vous reste entier. Ce logiciel fonctionne sur n’importe quel PC de classe ’Pentium’, nouveau ou vieux.
 +
 + * Le serveur SME est basé sur la même technologie de gestion de réseau que certaines des plus grandes sociétés du monde.
 +
 + * C’est un produit robuste et fiable qui peut soutenir cinq utilisateurs ou 500.
 +
 +**Comment fonctionne-t’il ?**
 +
 + * Le serveur SME s’installe automatiquement sur un PC, le convertissant en serveur de communications d’un niveau industriel.
 +
 + * Il fournit de façon standard les fonctionnalités suivantes :
 +
 +  * Un serveur d’email à rendement élevé qui gére les mails de vos utilisateurs. 
 +  * Haut niveau de sécurité qui réduit les risques d’intrusion. 
 +  * Un serveur de fichiers central permettant l’échange d’informations entre des machines Windows, Macintosh ou Unix. 
 +  * Un serveur Web complet, supportant le CGI et PHP. 
 +  * Gestion administrative simple et cohérente pour ajouter de nouveaux comptes d’utilisateur, gerer les accès à distance, pour configurer des imprimantes, pour gérer des groupes de travail, pour relier des réseaux additionnels... . 
 +  * Des services spéciaux qui gèrent les droits et l’accès d’Internet, améliorant le contrôle de votre réseau. 
 +  * Un répertoire partagé d’adresses mail qui est maintenu automatiquement. 
 +  * Un concept de ’ ibays ’ permettant un compartimentage qui rend facile la gestion des groupes de travail.
 +
 +Je témoigne de la grande facilité d’installation de ces plateformes, le plus dur est de trouver un ordinateur qui fonctionne, les installations par CD prennent moins d’une heure !
 +
 +====== SME ======
 +
 +**Page de liens SME**:
 +  * [[http://www.contribs.org/|contribs.org]]
 +  * [http://smeserver.sourceforge.net/HomePage]]
 +  * [[http://www.sme-fr.homelinux.net/|Gran'Pa]]
 +  * [[http://sme.swerts-knudsen.dk/||swerts-knudsen]]
 +  * [[http://dungog.net/sme/|dungog.net]]
 +  * [[http://www.tech-geeks.org/|tech-geek.org]]
 +  * [[http://smerp.free.fr/liens.html|liens chez smerp]]
 +  * [[http://www.vanhees.cc/]]
 +  * [[http://www.apo33.org/raccorps/rubrique.php3?id_rubrique=4|la page sur apo33/raccorps]]
 +
 +en passant sur SME7
 +
 +  * http://www.raber.homelinux.net/index.php?option=com_frontpage&Itemid=1
 +
 +===== Mise à jour =====
 +
 +SME évoluant vers une version 7 basée sur CenteOS  , il est bon voir nécéssaire de mettre à jour la version SME 6.5 avec cette page
 +
 +[[http://distro.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5RC1/updates-testing-common/i386/]]
 +
 +et une nouvelle [[http://smeserver.sourceforge.net/sme70/Manual|documentation (anglais)]]
 +
 +
 +===== Des scripts tout faits pour SME =====
 +
 +Sur un pc sur le reseau local vous pouvez vous connecter au serveur dans un terminal (console) grace à ssh
 +par exemple si votre serveur est sur cet IP <code>ssh 192.168.0.1</code>
 +, cela demande d'avoir sur votre pc de paquet open-ssh, ou si vous êtes encore sous winwin putty.exe
 +
 +En plus de permetre de reconfigurer le serveur sans y coller d'écran avec /sbin/e-smith/console.
 +Cela nous permet de modifier SME à notre guise.
 +
 +listes des install:
 +
 +  * anti-spam spamassassin 
 +  * anti-virus clamav
 +  * mailing liste mailman
 +  * gestion de la bande passante QoS
 +  * statistique reseaux MRTG
 +  * controle de service SME 
 +  * script de gestion de SME facile
 +  * statistique des sites awstats
 +
 +Et si vous avez ouvert l'accès à l'extérieur dans le menu de e-smith-manager, vous pourez le faire d'internet :-)
 +
 +**ATTENTION CETTE DOCUMENTATION S'ARRETE SOUVENT A SME 6 !**
 +
 +<code bash>
 +#!/bin/sh
 +# scripts d'installation de contributions SME pour les grands fatigues
 +# merci a sme.swerts-knudsen.dk !!
 +
 +##################
 +echo "installation de SpamAssassin"
 +
 +cd /tmp
 +/bin/rm -rf spamfilter_install.sh
 +wget http://sme.swerts-knudsen.dk/downloads/SpamFilter/spamfilter_install.sh
 +sh spamfilter_install.sh
 +echo upgrade spamfilter rpms to norlug 3.0.1-3 versions
 +mkdir spam
 +cd spam
 +wget -nc http://mirror.datapipe.net/norlug/redhat-7.3/RPMS/perl-Mail-SpamAssassin-3.0.4-1.norlug.i386.rpm
 +wget -nc http://mirror.datapipe.net/norlug/redhat-7.3/RPMS/spamassassin-3.0.4-1.norlug.i386.rpm
 +wget -nc http://mirror.datapipe.net/norlug/redhat-7.3/RPMS/spamassassin-tools-3.0.4-1.norlug.i386.rpm
 +rpm -Uvh *.rpm
 +cd ..
 +
 +################
 +echo "installation de Anti Virus"
 +
 +cd /tmp
 +/bin/rm i-rf antivirus_install.sh
 +wget http://sme.swerts-knudsen.dk/downloads/AntiVirus/antivirus_install.sh
 +sh antivirus_install.sh
 +echo installation Qmail Queue Handel
 +cd /tmp
 +wget http://contribs.org/contribs/saco/contrib/e-smith-qmHandle/e-smith-qmHandle-1.0.0-7.noarch.rpm
 +rpm -Uvh e-smith-qmHandle-*.rpm
 +
 +###############
 +echo "installation de Mailman"
 +
 +cd /tmp
 +mkdir mailman
 +wget ftp://chaloner.ca/mailman-2.1.3.tar
 +tar xvfz mailman-2.1.3.tar
 +rpm -Uvh *.rpm
 +cd ..
 +echo "Mettre a jour le mot de passe des listes"
 +/opt/mailman/bin/mmsitepass
 +service mailman stop
 +service mailman start
 +
 +##############
 +
 +echo "installation de Lazy-admin-tools et userpanel contribs"
 +
 +#http://www.contribs.org/contribs/mblotwijk/
 +cd /tmp
 +mkdir lat
 +cd /lat
 +wget -nc http://sme.swerts-knudsen.com/downloads/e-smith-lazy_admin_tools-0.9.0-1.noarch.rpm
 +wget -nc http://sme.swerts-knudsen.com/downloads/Userpanel/e-smith-userpanel-1.6.0-3.noarch.rpm
 +wget -nc http://sme.swerts-knudsen.com/downloads/Userpanel/perl-Unicode-IMAPUtf7-1.02-1.i386.rpm
 +wget -nc http://sme.swerts-knudsen.com/downloads/Userpanel/perl-Unicode-String-2.06-1.i386.rpm
 +rpm -Uvh *.rpm
 +cd ..
 +
 +##############
 +echo " enlever le double bounce (contribs.org)"
 +
 +cd /tmp
 +mkdir -p /etc/e-smith/templates-custom/var/qmail/alias/
 +touch /etc/e-smith/templates-custom/var/qmail/alias/.qmail-oblivion
 +echo "#" > /etc/e-smith/templates-custom/var/qmail/alias/.qmail-oblivion
 +mkdir -p /etc/e-smith/templates-custom/var/qmail/control/
 +touch /etc/e-smith/templates-custom/var/qmail/control/doublebounceto
 +echo "oblivion" > /etc/e-smith/templates-custom/var/qmail/control/doublebounceto
 +/sbin/e-smith/expand-template /var/qmail/alias/.qmail-oblivion
 +/sbin/e-smith/expand-template /var/qmail/control/doublebounceto
 +service qmail restart
 +
 +###############
 +echo "installation de MRTG"
 +
 +cd /tmp
 +ln -s /lib/libcrypto.so.0.9.6b /usr/lib/libcrypto.so.1
 +lat-ibays -a -c "mrtg | mrtg monitoring | admin | wr-admin-rd-group | global "
 +/bin/rm mrtg_install.sh
 +wget http://sme.swerts-knudsen.dk/downloads/MRTG/mrtg_install.sh
 +sh mrtg_install.sh
 +
 +###############
 +echo "installation de QoS"
 +
 +cd /tmp
 +wget http://sme.swerts-knudsen.dk/downloads/QoS/sme-QoS-1.0-6.noarch.rpm
 +rpm -Uvh sme-QoS-1.0-6.noarch.rpm
 +
 +###############
 +echo "installation de ftp user chroot"
 +
 +cd /tmp
 +wget http://www.dungog.net/sme/files/dungog-proftpd-chroot-0.1-5.noarch.rpm
 +rpm -Uvh dungog-proftpd-chroot-0.1-5.noarch.rpm
 +
 +###############
 +echo " installation de service control"
 +
 +cd /tmp
 +wget http://contribs.org/contribs/dmay/mitel/contrib/e-smith-service-control/e-smith-service-control-1.1.0-06.noarch.rpm
 +rpm -Uvh e-smith-service-control-1.1.0-06.noarch.rpm
 +###############
 +echo "Installation de awstats"
 +
 +cd /tmp
 +lat-ibays -a -c "awstats | awstats monitoring | admin | wr-admin-rd-group | global "
 +wget -N http://sme.swerts-knudsen.dk/downloads/AwStats/install_awstats.sh
 +sh install_awstats.sh
 +
 +###############
 +echo "installation d'un WebShare"
 +
 +mkdir /tmp/webshare
 +cd /tmp/webshare
 +wget http://contribs.org/contribs/nightspirit/e-smith-htaccess/e-smith-htaccess-1.1-2.noarch.rpm
 +#wget ftp://ftp.pbone.net/mirror/ftp.redhat.com/pub/redhat/linux/7.1/en/DMA/CPAN/RPMS/perl-Apache-Htaccess-0.4-10.i386.rpm
 +wget ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/perl-Apache-Htpasswd/perl-Apache-Htpasswd-1.5.9-1.0.rh7.rf.noarch.rpm
 +wget http://www.spox31.dyndns.org/portail/IMG/rpm/devinfo-mitel-webshare-0.0.1-3.noarch.rpm
 +#wget http://www.gatherum.org/downloads/downloads/phpfm.0.2.3.tar.gz
 +
 +rpm -i e-smith-htaccess-1.1-2.noarch.rpm devinfo-mitel-webshare-0.0.1-3.noarch.rpm perl-Apache-Htpasswd-1.5.9-1.0.rh7.rf.noarch.rpm
 +
 +
 + 
 +###############
 +echo "Prise en compte des templates"
 +
 +/sbin/e-smith/signal-event console-save
 +/sbin/e-smith/signal-event post-upgrade
 +/sbin/e-smith/signal-event reboot
 +
 +</code>
 +
 +===== D'autre scripts pour SME apt, mailman, icecast2, mldonkey=====
 +
 +
 +==== Installation du gestionnaire de paquet apt sur SME====
 +
 +Les base de paquets red-hat et leur gestion deviennent beaucoup plus simple avec apt!
 +
 +<code>
 +
 +rpm -Uvh ftp://ftp.pbone.net/mirror/ftp.freshrpms.net/pub/freshrpms/redhat/misc/apt/rh70-orig/apt-0.5.5cnc5-fr1.i386.rpm
 +
 +apt-get update
 +
 +</code>
 +
 +modifiez le fichier /etc/apt/sources.list pour avoir la red-hat 8, en placant les # pour la mise en commentaire. 
 +
 +ensuite //apt-get install gcc// pour installer par exmeple ici le compilateur
 +
 +ou //apt-cache search SDL// pour rechercher tout sur SDL
 +
 +
 +==== Mailman====
 +
 +Installation du serveur de mailing listes mailman sur SME 6 et 7 [[serveurs:mailman]]
 +==== Icecast2 serveur de streaming audio-video====
 +
 + [[serveurs:Icecast2|Installation du serveur Icecast2]]
 +
 +==== Mldonkey serveur P2P ====
 +
 + [[serveurs:mldonkey|Installation de mldonkey sur SME ]]
 +
 +==== Kplaylist media jukebox ====
 +
 + [[serveur:kplaylist|Kplaylist jukebox]]
 +
 +
 +
 +==== Zina un JukeBox sur SME ====
 +
 + [[serveurs:zina|Zina sur SME]]
 +
 +==== Jinzora un NET JukeBox sur SME 7 ====
 +
 + [[http://www.jinzora.com/]]
 +
 +    * Commencez par modifier le fichier /etc/e-smith/templates/etc/httpd/conf/httpd.conf/95AddType00PHP2ibays 
 +pour pouvoir streamer de gros fichier avec les fonctions PHP.
 +
 +<code php>
 +  pico /etc/e-smith/templates/etc/httpd/conf/httpd.conf/95AddType00PHP2ibays
 +
 +  my $status = $php{status} || 'disabled';
 +    if ($status eq 'enabled')
 +    {
 +    use esmith::AccountsDB;
 +    my $adb = esmith::AccountsDB->open_ro();
 +    foreach my $ibay ($adb->ibays)
 +    {
 +        local $dynamicContent = $ibay->prop('CgiBin') || 'disabled';
 +        if ($dynamicContent eq 'enabled')
 +        {
 +        $OUT .= "\n<Directory /home/e-smith/files/ibays/" . $ibay->key . "/html>\n";
 +        $OUT .= "    AddType application/x-httpd-php .php .php3 .phtml\n";
 +        $OUT .= "    AddType application/x-httpd-php-source .phps\n";
 +        # ajout APO33 pour le jukebox
 +        $OUT .= "    php_value  upload_max_filesize  50M\n";
 +        $OUT .= "    php_value  post_max_size  50M\n";
 +        #FIN APO33
 +
 +        # Set the sandbox within which PHP is confined to play
 +        my $basedir = $ibay->prop('PHPBaseDir')
 +            || ("/home/e-smith/files/ibays/" . $ibay->key . "/");
 +        $OUT .= "    php_value open_basedir $basedir\n";
 +        $OUT .= "</Directory>\n";
 +        }
 +    }
 +    }
 +}
 +
 +</code>
 +
 +
 +    * recuperez la derniere version de jinzora sur votre ibays crée pour cette occasion, 
 +ici jukebox .que vous mettrez en visible avec PHP
 +
 +<code>
 +cd /home/e-smith/files/ibays/jukebox/html
 +wget  http://www.jinzora.com/downloads/j2.3.6.tar.gz
 +tar xvfz j2.3.6.tar.gz
 +cd jinzora2
 +sh configure.sh
 +#creation d'une database pour jinzora
 +mysql
 +
 +create database jinzora2;
 +grant all privileges on jinzora2.* to user-machin@localhost identified by 'motdepasse';
 +quit
 +
 +</code>
 +
 +    * ouvrez votre navigateur pour faire l'installation, 
 +ca devrait se faire tout seul, les permissions sont faites par le configure , 
 +la base de donnée prète et les parametres php en place .
 +
 +
 +==== Webshare sur SME ====
 +
 + [[serveurs:webshare|webshare sur SME]]
 +
 +==== Dokuwiki sur SME ====
 +
 +DokuWiki sur SME
 +
 +L'information du créateur est [[ http://wiki.splitbrain.org/wiki%3AInstall| sur splitbrain.org ]]
 +
 +Comme toute les installations de base sur le SME: ouvrez un terminal sur un autre PC sur le reseau local , votre serveur etant sur l'adresse 192.168.1.1 par exemple
 +<code>ssh root@192.168.1.1
 +</code>
 +ou pour ouvrir une console directement du moniteur branché sur le serveur: ALT-F2  
 +
 +<code>
 +cd /home/e-smith/files/ibays/Primary/html # ou le repertoire d’un ibays que vous avez precedement crée 
 +rm index.html                             # pour enlever le fichier defaut de l'ibays
 +wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2005-09-22.tgz?id=projects%3Adokuwiki&cache=cache
 +
 +mv dokuwiki* Dokuwiki.tgz  # ou la derniere version 
 +tar xvfz Dokuwiki.tgz 
 +cd dokuwiki..truc.truc # attention au nom de version 
 +exit 0 # reprendre la ici
 +mv * .* .. 
 +cd ..
 +chown -R www:www *
 +touch data/changes.log
 +chmod 666 data/changes.log 
 +
 +pico conf/local.php            # pour mettre a jour le nom du site et quelques trucs 
 +</code>
 +<code>
 +<?
 +/*
 +  This is an example of how a local.php coul look like.
 +  Simply copy the options you want to change from dokuwiki.php
 +  to this file and change them
 + */
 +
 +
 +$conf['title'      = 'Apotek';        //what to show in the title
 +
 +$conf['useacl'     = 1;                //Use Access Control Lists to restrict access?
 +$conf['superuser'  = 'toto';
 +
 +</code>
 +
 +Entrez dans le site avec votre navigateur en allant sur la page http://localhost/
 +pensez à changer les règles acl de gestion des autorisations .
 +par exemple
 +<code>
 +# Access Control
 +#
 +# none   0
 +# read   1
 +# edit   2
 +# create 4
 +# upload 8
 +# grant  255 #not used yet
 +
 +*       @ALL    1
 +*       admin   255
 +start   @ALL    1
 +start   admin   8
 +*       @user   8
 +</code>
 +et le fichier user.auth
 +<code>
 +# Userfile
 +#
 +# Format:
 +#
 +# user:MD5password:Real Name:email:groups,comma,seperated
 +#
 +admin:1c8abblablablabla:bretzel:bretzel@apo33.org:admin
 +toto:1c8ab1a65blablabla:toto:totol@truc.org:admin
 +untel:617fblablablablabla:untel:info@truc.org:user
 +</code>
 +un générateur de mot de passe md5, parmis d'autre, est disponible [[ http://www.phpbbhacks.com/md5.php|ICI]]
 +
 +et pour finir, si vous désirez vraiment autoriser l'execution de code html ou php dans vos pages, 
 +ajoutez les lignes dans le fichier conf/local.php
 +<code>
 +$conf['htmlok'     = 1;     //may raw HTML be embedded? This may break layout and XHTML validity 0|1
 +$conf['phpok'      = 1;     //may PHP code be embedded? Never do this on the internet! 0|1
 +</code>
 +
 +
 +==== des outlis d'administration , encore .. ====
 +[[http://smeserver.pialasse.com/index.php/Monitoring]]
 +
 +[[http://smeserver.pialasse.com]]
 +
 +==== installer un chat simple en 2 minutes ====
 +
 +dans le genre super facile à installer, simple (1 seule salle de chat) et qui n'utilise pas de base de donnée : PHPFreeChat est parfait!
 +
 +* la procédure :
 +
 +aller sur le site : http://www.phpfreechat.net/
 +
 +1- Téléchargez le script d'installation auto-extractible : [[http://sourceforge.net/project/showfiles.php?group_id=158880|phpfreechat-x.x-setup.php]] (la dernière version de préférence)
 +
 +2- Uploadez le script dans un répertoire accessible par votre navigateur (répertoire publique)
 +
 +3- Lancez votre navigateur et exécutez le script d'installation que vous venez d'uploader, ceci devrait lancer une interface d'installation, suivez alors les étapes !
 +
 +Astuce : supprimez le scripte d'installation une fois terminé pour des raisons de sécurité.
 + 
 +et voilà un chat rapidment monté ;-)
 +
 +
 +
 +==== Trucs en Vrac ====
 +
 +=== Documentation Qmail ===
 +
 +[[http://www.culte.org/projets/doc/qmail/v0.4/]]
 +
 +=== Problemes d'affichage, de cache, d'un site utilisant mysql ===
 +
 +Ce probleme vient peut etre d'un fichier mysql mal en point, j'ai observé apres un transfert à vif d'un site Wikini que les pages s'affichaient blanches, si on insiste, elle s'affichent correctement.
 +
 +un des fichiers mysql avait un probleme, solution **myisamchk** , voici une manipulation à vif aussi mais qui peut fonctionner :
 +
 +  * stoper le serveur apache si vous pouvez, cela arretera toute consultation sur tout vos sites .
 +<code>
 +/etc/init.d httpd stop
 +</code>
 +  * se rendre dans le répertoire mysql considéré, ici //monwikini// c'est la database utilsée par le site wiki, et faire une sauvegarde puis le check
 +<code>
 +cd /var/lib/mysql
 +tar cvfz /tmp/monwikini-mysql.tgz monwikini
 +cd monwikini
 +myisamchk --silent --force --fast --update-state \
 +-O key_buffer=64M -O sort_buffer=64M \
 +-O read_buffer=1M -O write_buffer=1M \
 +*MYI
 +</code> 
 +  * vérifiez que les fichiers sont bons
 +<code>
 +myisamchk *MYI
 +</code>
 +ne donne aucune erreur, si vraiment tout est encore cassé, voir que c'est encore pire, vous avez la sauvegarde et
 +<code>
 +cd ..
 +tar xvfz /tmp/monwikini-mysql.tgz
 +</code>
 +remet tout comme avant ... mais il va faloir trouver une autre solution ..
 +
 +  * relancez le serveur apache , c'est terminé, vous n'aurez plus de page blanche .
 +<code>
 +/etc/init.d/httpd start
 +</code>
 +
 +Une autre méthode, du genre, accroche toi au pinceau, j'enleve l'echelle, sur mabasemachin dans monsitetruc:
 +<code>
 +cd /var/lib/mysql/mabasemachin
 +mv /home/e-smith/files/ibays/monsitetruc/html /home/e-smith/files/ibays/monsitetruc/html.good
 +myisamchk --silent --force --fast --update-state \
 +-O key_buffer=64M -O sort_buffer=64M \
 +-O read_buffer=1M -O write_buffer=1M \
 +*MYI
 +myisamchk *MYI
 +mv /home/e-smith/files/ibays/monsitetruc/html.good /home/e-smith/files/ibays/monsitetruc/html
 +</code>
 +
 +
 +===Backup and Restore MySQL Database Using Command Line===
 +
 +
 +Methode 1 (Longue)
 +
 +<code>
 +mysqldump -u USER -pPASSWORD DATABASE > filename.sql
 +</code>
 +copy the file to the new host and restore using
 +<code>
 +mysql -u USER -pPASSWORD DATABASE < filename.sql
 +</code>
 +
 +Methode 2 (courte)
 +
 +<code>
 +mysqldump –opt –compress –user=USERHERE –password=PWHERE
 +–host=SOURCE.HOST.HERE SOURCE_DB_NAME | mysql –user=USERHERE
 +–password=PWHERE –host=TARGET.HOST.HERE -D TARGET_DB_NAME -C
 +TARGET_DB_NAME
 +</code>
 +
 +==== Device not managed - carte réseau disable - apodio13 - Xubuntu 20.10LTS ====
 +petit soucis à l'été 2021 avec une mise à jour xubuntu 20.10LTS
 +Soudainement les carte réseaux eth0 ne fonctionnent plus... device not manage dans le network-manager... après de nombreux essais et tentative via des forums, ce qui a marché pour nous :
 +
 +<code>
 +gedit /etc/NetworkManager/NetworkManager.conf
 +</code>
 +puis éditer la ligne suivante
 +<code>
 +[ifupdown]
 +managed=true (au lieu de false)
 +</code>
 +
 +puis :
 +<code>
 +gedit /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
 +</code>
 +
 +rajouter cette ligne suivante et sauvegarder (le tout en root) :
 +<code>
 +[keyfile]
 +unmanaged-devices=*,except:type:wifi,except:type:wwan,except:type:ethernet
 +</code>
 +
 +source : https://askubuntu.com/questions/71159/network-manager-says-device-not-managed
 +
 +
 +