DOCKER sur Debian 9

apt update
apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt update
apt install docker-ce
systemctl status docker
docker search nom_du_module
docker container ls --all // -> liste -> ID du container
docker stop ID // arret
docker rm ID  // enlève l'image
docker images ls
docker stop $(docker ps -a -q)  // stop tout
docker rm $(docker ps -a -q)    // enlève tout

Exemples

docker run -v /home/www/monsite:/var/www/html -p 9000:9000 --restart=always andthensome/docker-php-5.3-fpm

docker run -v /home/docker/test12/www:/var/www/html  -p 82:80   --restart=always  nouphet/docker-php4

https://doc.ubuntu-fr.org/docker_lamp

MYSQL CHANGE PASSWORD

/etc/init.d/mysql stop
/usr/sbin/mysqld --skip-grant-tables
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('votre_nouveau_mot_de_passe');
mysql> FLUSH PRIVILEGES;
mysql> exit
/etc/init.d/mysql start

// création user grant all
CREATE USER [IF NOT EXISTS] 'monadmin'@'%' IDENTIFIED BY 'monpass';
GRANT ALL  ON  *.* TO 'monadmin'@'%';

TUNNEL SSH

ssh-keygen -t rsa -b 4096      // création clef ssh ( si pas déjà fait)

ssh  user@dev.monserveur.com  <-password // première connexion serveur relais manuelle

ssh-copy-id root@ monserveur.com  // copie clef

dans sshd_config ajouter :  GatewayPorts yes
/etc/init.d/ssh restart  //(debian)

ssh -R 4444:localhost:80 user@dev.monserveur.com
en se connectant sur dev.monserveur.com:4444 c'est localhost:80 qui répond.

autossh   -M 0 -q -f -N -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3"  -R 4444:localhost:80 user@dev.monserveur.com 
même chose mais en tache de fond avec reconnexion automatique

Lancement au boot ajouter un fichier /etc/systemd/system/autossh-tunnel.service
[Unit]
Description=AutoSSH tunnel service local 80 port 4444 dev.monserveur.mobi
After=network.target

[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -NR 4444:localhost:80 root@dev.monserveur.mobi
Restart=always
User=pi

[Install]
WantedBy=multi-user.target

puis:
sudo systemctl start autossh-tunnel.service
sudo systemctl stop autossh-tunnel.service
sudo systemctl enable autossh-tunnel.service  pour démarrage auto

https://wiki.archlinux.fr/Autossh

NEXTCLOUD pb update

Dans le .htaccess mettre en commentaires les lignes :

<IfModule mod_php5.c>
  #  php_value upload_max_filesize 511M
  #  php_value post_max_size 511M
  # php_value memory_limit 512M
  # php_value mbstring.func_overload 0
  # php_value always_populate_raw_post_data -1
  # php_value default_charset 'UTF-8'
  # php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>
<IfModule mod_php7.c>
   # php_value upload_max_filesize 511M
   # php_value post_max_size 511M
   # php_value memory_limit 512M
   # php_value mbstring.func_overload 0
   # php_value default_charset 'UTF-8'
   # php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>

<IfModule mod_dir.c>
   # DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
 # Options -Indexes

Dans quelques cas, ajouer au my.cnf ou mariadb.conf.d/50-server.cnf (erreurs oc_addressbooks)

innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=true

NEXTCLOUD après install

MariaDB version >13
my.cnf -> innodb_file_per_table=1
base de données -> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Dans le répertoire de l'install Nextcloud :
sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
sudo -u www-data php occ maintenance:repair


php.ini
memory_limit = 512M
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

apache.conf
<IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
 </IfModule>

a2emod http2 <-- activation de http2 dans Apache

NEXTCLOUD déplacer data

sudo -u www-data php /path/to/nextcloud/occ maintenance:mode --on
mkdir -p /new/path/to/data
cp -a /path/to/data/. /new/path/to/data
chown -R www-data:www-data /new/path/to/data

/path/to/nextcloud/config/config.php  --> 'datadirectory' => '/new/path/to/data',

// Modif contenu de la Table 
oc_storages id='local::/new/path/to/data/' --> id='local::/path/to/data/'

sudo -u www-data php /path/to/nextcloud/occ maintenance:mode --off

//Si tout est bon :
rm -R /path/to/data