php


[lmt-page-modified-info]
Tshikave. — Ce n’est pas encore la dernière ligne droite. Il nous faut un outil pour générer nos pages HTML.
Umvisndik. — HTML ?
Tshikave. — HyperText Markup Language ; C’est-à-dire un texte qui contient non seulement ce que l’on veut dire ou faire entendre mais aussi des informations de mise page (couleurs, type de caractères, images…). Nos pages ne seront pas écrites une fois pour toutes, nous allons en créer à la demande ou en afficher en fonction de certaines situations.
Umvisndik. — Décidément, vous êtes accro aux acronymes ! Et bien, puisque nous sommes dans les significations de sigles, qu’est-ce que PHP ?
Tshikave. — PHP pour Personal Home Page Tool. Il y a deux fichiers déjà présents à modifier avec un éditeur de textes. et nous pouvons vérifier le fonctionnement de notre dernière installation :
# pkg install -y  mod_php72 php72-session php72-xml php72-ctype\ 
php72-filter php72-gd php72-json php72-mysqli \ 
php72-mbstring php72-zlib php72-zip php72-bz2

[...]

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
# nano /usr/local/etc/apache24/httpd.conf

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
<FilesMatch "\ .php $">
    Application SetHandler / x-httpd-php
</ FilesMatch>
<FilesMatch "\ .phps $">
    SetHandler application / x-httpd-php-source
</ FilesMatch>
# nano /usr/local/www/apache24/data/info.php
#
<?php phpinfo(); ?>
Tshikave. — Nous allons procéder à quelques incantations :
Umvisndik. —
#  mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
 
[...]

mysql> CREATE DATABASE nextcloud;

mysql> CREATE USER 'dhenin'@'localhost' IDENTIFIED BY 'xxxxxxxx' ;

mysql> GRANT ALL ON nextcloud.* TO 'dhenin'@'localhost';

mysql> FLUSH PRIVILEGES;

mysql> exit
Bye
#
<?php phpinfo(); ?>
Tshikave. —
Umvisndik. —
# 
<?php phpinfo(); ?>

6. Installation de redis :

« Redis (de l’anglais REmote DIctionary Server qui peut être traduit par « serveur de dictionnaire distant » et jeu de mot avec Redistribute1) est un système de gestion de base de données clef-valeur scalable, très hautes performances, écrit en C ANSI et distribué sous licence BSD. Il fait partie de la mouvance NoSQL et vise à fournir les performances les plus élevées possibles. (͙)

Une des principales caractéristiques de Redis est de conserver l’intégralité des données en RAM. Cela permet d’obtenir d’excellentes performances en évitant les accès disques, particulièrement coûteux sur ce plan.

Quand la taille des données est trop importante pour tenir en mémoire, Redis peut également utiliser de la mémoire virtuelle. »

Source : https://fr.wikipedia.org/wiki/Redis

Installation du paquet :

# pkg install redis

On demande ă ce que le service s’initialise au démarrage :

# sysrc redis_enable=YES

On configure le tout :

# /usr/local/etc/redis.conf

On change le port ă 0 pour que Redis n’écoute pas un Socket TCP

• port 0

On configure un socket UNIX à la place :

unixsocket /tmp/redis.sock
unixsocketperm 777

On sauvegarde puis redémarre le service :

# service redis start

Puis on exécute :

#ls -al /tmp

On vérifie que les modifications précédemment réalisées ont été prise en compte :

srwxrwxrwx 1 mysql wheel 0 May 31 09:29 mysql.sock
srwxrwxrwx 1 redis wheel 0 May 31 09:30 redis.sock

Maintenant que tout est prêt, il ne nous reste plus qu’ă installer Nextcloud.

7. Mise en place de Nextcloud :

On se rend dans le répertoire oƶ l’on va mettre en place les fichiers :

# cd /usr/local/www/apache24/data/

Puis on télécharge le package de nextcloud (vérifier sur le site officiel si de nouveaux n’ont pas été proposés depuis)

# fetch https://download.nextcloud.com/server/releases/nextcloud-12.0.3.tar.bz2
# fetchhttps://download.nextcloud.com/server/releases/nextcloud-12.0.3.tar.bz2.md5
# md5 nextcloud-12.0.3.tar.bz2
# cat nextcloud-12.0.3.tar.bz2.md5

Si le hash correspond bien, l’archive peut être extraite sans problème :

# tar -xjf nextcloud-12.0.3.tar.bz2 Bien penser à supprimer les archives décompressées : # rm -rf nextcloud-12.0.3.tar.bz2 # rm -rf nextcloud-12.0.3.tar.bz2.md5

Point Important : Il s’agit d’un cloud privé, donc nous n’avons pas d’intérêt ă ce que celui-ci soit référencé par les moteurs de recherche (Google, Bing, Yahoo͙) : # ln -s /usr/local/www/apache24/data/nextcloud/robots.txt /usr/local/www

Bien vérifier que le fichier robots.txt contient les lignes suivantes :
User-agent: *
Disallow: /

Ceci demande aux bots des différents moteurs de recherche de ne pas référencer le site.

On définit les droits des dossiers :

# chown -R www:www /usr/local/www/apache24/data/nextcloud /mnt/data
# find /usr/local/www/apache24/data/nextcloud/ -type d -exec chmod 750 {} \;
# find /usr/local/www/apache24/data/nextcloud/ -type f -exec chmod 640 {} \;

On redémarre à nouveau Apache

# service apache24 restart

Il faut maintenant se rendre sur la page d’accueil du site nouvellement installé. Différents paramètres pour finaliser la mise en place :

Option Valeur
Data folder /mnt/data
Database user nextcloud_admin
Database password <your password>
Database name nextcloud
Database host localhost:/tmp/mysql.sock

Le cloud est maintenant fonctionnel et prêt à être configuré dans la partie « Administration ».