Installation d'un serveur php sur Ubuntu 16.04

Rédigé par chris - - 1 commentaire
Une mise à jour de Ubuntu 14.04 vers 16.04 s'est bien passée sauf que le serveur php ne fonctionne pas comme avant. Voici une procédure pour tout réinstaller depuis le début.
Donc la première étape a été de tout désinstaller les paquet apache php et mysql.

Puis on lance la ligne de commande
sudo apt-get install apache2 php mysql-server libapache2-mod-php php-mysql
A ce stage on test avec un navigateur avec l'adresse localhost
Maintenant pour tester php on va faire un petit fichier texte avec ce code

<?php
   phpinfo();
?>
on va enregistrer dans le répertoire /var/www/html avec le nom phpinfo.php
et on lance un navigateur
http://localhost/phpinfo.php
On devrait voir l'écran phpinfo donnant des information sur la verison php si  c'est le cas tout va bien.
 
Une petite configuration pour permettre à un utilisateur de mettre les sources dans son propre répertoire
sudo a2enmod userdir
sudo service apache2 restart
Quand on va sur l'adresse http://localhost/~user
On voit bien les fichiers présents dans le répertoire public_html mais le fichier phpinfo.php affiche une page blanche.

Conclusion, il doit avoir un problème avec le module apache userdir et php. Si quelqu'un a une solution je suis preneur d'une piste. L'idée était de mettre ses fichiers php dans le home et non dans /var/www/public_html

Cela fonctionnait trés bien jusqu'à présent. On va essayer de faire un serveur virtuel.

Finalement je m'en suis sortis avec un lien symbolique

cd /var/www/public_html
sudo ln -s /home/user/public_html user


et en faisant localhost/user j'arrive bien à avoir les sources php qui s'executent.

Aprés quelques temps j'ai fini par trouver la solution. Elle est décrite dans l'article suivant Comment activer le mode userdir

Comment installer Hubzilla avec ssh

Rédigé par chris - - Aucun commentaire
Hubzilla est est une plateforme de communication et de publication décentralisée qui vous permet de garder le contrôle de vos données. Cela signifie que vos données vous appartiennent et qu'elle sont cryptées. Vos données vous appartiennent même si vous avez un compte sur un serveur qui n'est pas le vôtre. (c'est le cas normal). Grâce à l'identité nomade, vous pouvez avoir une copie de votre compte sur un autre serveur. Si le premier serveur ferme pour une raison ou une autre, vous pourrez continuer à publier et échanger de façon transparente à partir de l'autre serveur. Si vous ne connaissez pas bien hubzilla , je vous encourage à ouvrir un compte et à en découvrir tout le potentiel par vous même.

Maintenant le sujet de cet article est l'installation de hubzilla sur votre propre serveur. Un petit vps chez ovh fera l'affaire . Mais hubzilla peut aussi s'installer sur un hébergement mutualisé par exemple sur Dreamhost . A ce propos si vous ouvrez un hébergement avec le lien promo50 vous recevrez une réduction de $50.

Il y a peu de documentation en français sur hubzilla. De plus le développement continue. Ce tuto est donc valable pour une version de septembre 2016.

La documentation officiel se trouve sur chaque hub avec l'adresse /help
 par exemple https://hubzilla.org/help C'est elle qui fait foi. Je vous invite à consulter cette page d'aide qui évidement sera plus à jour que cet article qui peut comporter des imprécisions ou des erreurs. (si vous en voyez merci de les signaler)

Prérequis
Vous devez avoir un serveur web apache, php et mysql. Cette configuration est courante. Il existe des variantes d'installation sur nginx ou postgres mais ce n'est pas l'objet de cet article.

Il est aussi conseillé d'installer https pour plus de sécurité. Il faut le faire en premier. Voici un tuto pour utiliser letsencrypt

Attention hubzilla s'installe sur la racine d'un domaine ou d'un sous domaine. Vous devez avant de vous lancer avoir au moins un sous domaine libre.

Exemple : Votre domaine est toto.com vous pouvez faire un sous domaine hub.toto.com. Il faudra connaitre le nom du répertoire sur le serveur. On va imaginer que c'est /home/toto/hub/public_html

Vous devez aussi pouvoir utiliser ssh pour lancer quelques lignes de commandes. Aussi cette installation ne s'adresse pas à tous le monde mais à des gens qui ont des notions de système linux.


Installation
Connectez vous à votre serveur avec ssh et placer vous.
cd /home/toto/hub

Installation des sources
 git clone https://github.com/redmatrix/hubzilla.git .


Puis lancer les commandes suivantes



mkdir -p "store/[data]/smarty3"

util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
util/update_addon_repo hzaddons

chown -R www-data public_html
chgrp -R www-data public_html

Une fois ceci fait : il faut créer une base de donnée et noter les informations mysql : host, nom de l'utilisateur mysql, mot de passe et nom de la base de données

Allez sur l'adresse url de votre site
http://hub.toto.com et suivez les instruction

L'email que vous renseignez à l'installation sera l'email de l'administrateur.
Mettre en place une tache cron
Une chose importe est de configurer une tâche automatique.
donc
crontab -e
et ajouter la ligne suivante

*/10 * * * *    cd /home/toto/hub/public_html; /usr/bin/php Zotlabs/Daemon/Master.php Cron


Configuration
Créez vous un compte avec l'email renseigné durant l'installation. Un compte peut avoir un canal ou plusieurs

Allez dans l'admin (menu > administrateur)
Puis option plugins (en anglais) ou greffons (en français)


- Activer Standard Embeds pour permettre l’intégration des vidéos  (cette option a été désactivée pour une raison de sécurité)


- Activez Diaspora Protocol pour permettre une communication avec Diaspora (cette option n'est pas activé par défaut)

Voilà vous avez maintenant un hub prêt à l'emploi. Bonne découverte.
Si vous voulez communiquez avec moi mon identifiant hubzilla est chrisfr@lastauth.com



Comment sécuriser un site avec letsencrypt

Rédigé par chris - - 1 commentaire
Sécuriser un site n'est pas une chose facile. Voici un tutorial pour faire ses premiers pas grâce  à letsencrypt

Letsencrypt est un projet qui vise à généraliser l'usage de connexions sécurisées sur l’internet. En supprimant la nécessité de paiement, de la configuration du serveur web, des courriels de validation et de gestion de l'expiration des certificats, le projet est fait pour réduire de manière significative la complexité de la mise en place et de la maintenance du chiffrement TLS. Sur un serveur GNU/Linux, l’exécution de seulement deux commandes2 est censée être suffisante pour paramétrer le chiffrement HTTPS, l’acquisition et l’installation de certificats, et ceci en quelques dizaines de secondes.

On imagine que vous avez un serveur sur lequel vous pouvez accéder en ssh. Cet exemple est basé sur un site installé sur apache.

Etape 1 : Installation de lestencrypt

sudo apt-get update sudo apt-get install git
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt --depth=1
cd /opt/letsencrypt sudo git pull
Voila. Une petite explication : On installe git puis on installe lesencrypt dans le répertoire /opt


Etape 2 : génération du certificat
/opt/letsencrypt/letsencrypt-auto --apache -d mondomaine.fr
Vous remplacez évidement mondomaine.fr par votre domaine ou votre sous domaine.

Etape 3 : modification de la configuration apache

<IfModule mod_ssl.c>
 <VirtualHost *:443>
 ...
SSLCertificateFile /etc/letsencrypt/live/mondomaine.fr/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mondomaine.fr/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
 ...
</VirtualHost>

 </IfModule>
Le port 443 écoute https et on ajoute les liens vers les certificats. Remplacez mondomaine.fr

Etape 4 : le renouvellement
Comme votre certificat a une durée de vie limité, il faudra de temps en temps renouveller votre certificat. Ajoutez cette ligne de commande dans un cron tous les 3 mois et vous n'aurez plus besoin de rien faire.
/opt/letsencrypt/letsencrypt-auto --apache --renew-by-default  -d mondomaine.fr

Clonage d'un disque dur avec la commande dd

Rédigé par chris - - 1 commentaire
Ceci est une expérience d'un clonage d'un disque sur un autre avec la commande dd. Lisez jusqu'au bout car l'expérience n'est pas bonne.

Le tour est venu à l'ordinateur de bureau qui commence à peiner pour recevoir son nouveau disque ssd. Comme je désire garder windows pour tester, je décide de duppliquer l'ancien disque sur le nouveau. L'ancien disque a 500G alors que le nouveau en a 480G

Voici comment j'ai procédé. Branché le nouveau disque avec un cable sata puis il faut détecté le nom du nouveau disque et de l'ancien. La commande dd est trés puissante mais il ne faut pas se tromper.

Pour connaitre le nom de mes disques, j'ai utilisé la commande

sudo fdisk -l


Dans mon cas j'ai vu que le disque sdb avait des partitions avec une taille de 500G alors que le sda était vide. J'en ai conclu que le disque source sera sdb et le disque cible sda. D'aprés ma page tuto de ubuntu if est la source et of est la cible.

Voici donc ma commande.
dd if=/dev/sdb of=/dev/sda conv=notrunc,noerror

Reliser deux fois la commande, respirer et attender une seconde avant de faire entrer car si on se trompe de source et cible, on perd toutes les données.



Avec ma machine cela a duré 2 à 3 heures peut être plus car je n'ai pas vraiment chronométré mais il m'a semblé que c'était long.

Une fois terminé, on débranche l'ancien disque et on test. Un menu grub apparait et je teste windows qui semble bien fonctionné. Par contre linux lui ne fonctionne pas.

Et pour cause, j'ai l'impression qu'il est complétement perdu dans les partitions, il doit lui manquer. quelque chose. La commande fdisk -l montre bien des partitions mais gparted me montre un disque avec ... RIEN !!!!


Conclusion ma dupplication de disque n'est pas fonctionnelle. Soit il faut réparer quelque chose, soit il faut recommencer. Si vous avez des pistes, je suis preneur. Est ce que l'utilisation de clonezilla est une piste ? J'avais entendu qu'on ne pouvait pas cloner un disque de taille différente.

Suite de l'histoire

autres articles sur l'informatique
Fil RSS des articles de cette catégorie