Rappel sur les différentes étapes pour mettre en place un server dédié à Owncloud

Chap 1. Prise en main du RPi et installation de Mate sur un Raspbian
Chap 2. Installation de OwnCloud sur un Raspberry Pi
Chap 3. Sécuriser votre RPi
Chap 4. Accès au serveur Web Owncloud à partir de son nom de domaine
Chap 5. Connection SSH
Chap 6. Les fichiers journaux
Chap 7. Let’s Encrypt (LE)
Chap 8. Ajout d’un disque dur externe et migration de données
Chap 9. Suppression et ajout d’une interface graphique
Chap 10. Rappel sur les différentes étapes pour mettre en place un server dédié à Owncloud

Chap 10. Rappel sur les différentes étapes pour mettre en place un server dédié à Owncloud

Ce chapitre n’a pour but que de vous faire un petit résumé des différentes étapes à partir de l’installation de Owncloud sur un Raspberry Pi, jusqu’à avoir un server fonctionnel.

Je vais aussi en profiter de cette partie pour tester la dernière version en date de Owcloud.

Pour rappel, nous avons besoin de:

  1. Matériel:

    – Raspberry Pi 2 B
    – Carte micro SD, Classe 10
    – Câble HDMI avec un moniteur (écran télé) qui supporte le HDMI
    – Câble Ethernet

  2. Firmware:

    – Owncloud 9.1.3
    – Raspbian 8.0

  3. Configuration:

    – Adresse IP Publique
    – Adresse IP Privée statique (LAN) pour le RPi
    – Nom de domaine (NetLibre, nsupdate)
    – Certificat LE (Lets encrypt)

Ne vous attendez donc pas à ce que je détaille les différentes étapes de l’installation, puisque çà a déjà été abordé dans les différents chapites associés. Je vous renvoie donc vers les différentes sections pour plus d’information.

Chap 1. Prise en main du RPi
—————————————–

$ df -h

$ sudo umount /dev/sdb1

$ sudo apt install dcfldd

$ sudo dcfldd if=20XX-YY-ZZ-raspbian-jessie-lite.img of=/dev/sdb bs=1M
$sync

$ sudo cat >  /etc/network/interfaces.d/eth0 << eof > auto eth0
>
> iface eth0 inet static
>     address 172.16.1.16
>      netmask 255.255.255.0
>      gateway 172.16.1.1
> eof

# ifdown eth0

# ifup eth0

# vi /etc/resolv.conf
# Generated by resolvconf
nameserver 8.8.8.8
nameserver 8.8.4.4

# chattr +i /etc/resolv.conf 


$ sudo apt update
$ sudo apt upgrade

$ sudo apt install vim

$ sudo raspi-config 

Un petit plus,

pi@raspberrypi:~ $ sudo hostname nouveau-nom
pi@nouveau-nom:~ $ sudo vim /etc/hosts
!--sortie tronquée--!
127.0.1.1	nouveau-nom

Faite une copie de sauvegarde du système installé sur la carte SD vers un autre support (disque dur local par exemple):

$ sudo umount /dev/sdb1
$ sudo umount /dev/sdb2

mon@ordi$ cd ~/Backup

$ sudo dcfldd if=/dev/sdb of=sd.img bs=4M

Chap 3. Sécuriser votre RPi
—————————————–

mon@ordi$ ssh pi@10.1.2.3

$ sudo adduser USERNAME
$ sudo adduser USERNAME sudo

$ groups pi
pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio
$ groups USERNAME
USERNAME : USERNAME sudo

$ sudo usermod -a -G adm,dialout,cdrom,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio USERNAME

mon@ordi$ ssh USERNAME@10.1.2.3

sudo deluser --remove-home pi

Je n’ai pas réussi à supprimer l’utilisateur pi du premier coup, car la commande renvoie l’erreur que cet utilisateur a un process actif (bash). J’ai du redémarrer le RPi et relancer la même commande. Une autre alternative serait d’utiliser la commande ci-dessous:

$ sudo userdel -f pi

$ sudo passwd -dl root

$ sudo vim /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
$ sudo service ssh restart

*Connection SSH côté client
—————————————

mon@ordi$ sudo apt-get install openssh-client
mon@ordi$ ssh-keygen -t rsa

N’ommetez pas la passphrase!!!

Les clés générées devraient se trouver dans le répertoire ~/.ssh:
– clé privée: id_rsa (vous devez ne jamais fournir cette clé à personne)
– clé publique: id_rsa.pub

mon@ordi$ ssh-copy-id -i ~/.ssh/id_rsa.pub USERNAME@10.1.2.3

*Connection SSH côté server
—————————————

USERNAME@raspberrypi$ sudo apt-get install openssh-server

Vérifier et modifier les permissions pour les fichiers et dossiers si nécessaire.

drwx------ .ssh
-rw------- .ssh/authorized_keys


$ sudo vim /etc/ssh/sshd_config
PasswordAuthentication no

$ sudo service ssh restart

*Parefeux
—————————————

$ sudo vim /etc/iptables.firewall.rules
*filter

# Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

# Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

# Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Allow RDP connections from anywhere (uncomment if rdp connection is needed)
# -A INPUT -p tcp --dport 3389 -j ACCEPT

# Allow SSH connections
# The -dport number should be the same port number you set in sshd_config
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# Allow ping
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

# Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT
$ sudo iptables-restore < /etc/iptables.firewall.rules
$ sudo iptables -L

sudo vim /etc/network/if-pre-up.d/firewall
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

$ sudo chmod +x /etc/network/if-pre-up.d/firewall

$ sudo apt install fail2ban

Chap 2. Installation de OwnCloud sur un Raspberry Pi
—————————————–

$ mkdir /home/USERNAME/www-dev
$ cd /home/USERNAME/www-dev


$ sudo wget http://download.owncloud.org/community/owncloud-9.1.3.tar.bz2
$ sudo wget http://download.owncloud.org/community/owncloud-9.1.3.tar.bz2.md5
$ md5sum -c owncloud-9.1.3.tar.bz2.md5 < owncloud-9.1.3.tar.bz2
owncloud-9.1.3.tar.bz2: OK

$ sudo tar -xvf owncloud-9.1.3.tar.bz2

$ sudo chown -R www-data:www-data /home/USERNAME/www-dev

*Apache
—————————————

$ sudo vim /etc/apache2/sites-available/owncloud.conf
Alias /owncloud "/home/USERNAME/www-dev/owncloud/"
<Directory /home/USERNAME/www-dev/owncloud/>
 Options +FollowSymlinks
 AllowOverride All

 <IfModule mod_dav.c>
 Dav off
 </IfModule>

 SetEnv HOME /home/USERNAME/www-dev/owncloud
 SetEnv HTTP_HOME /home/USERNAME/www-dev/owncloud

</Directory>


Lier symboliquement /etc/apache2/sites-enable/owncloud.conf à /etc/apache2/sites-avaibled/owncloud.conf:
$ sudo a2ensite owncloud.conf

Remplacer a2ensite par a2dissite pour supprimer le lien symbolique.

$ sudo a2enmod rewrite
$ sudo a2enmod headers

$ sudo service apache2 restart
$ sudo systemctl daemon-reload

$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
$ sudo service apache2 reload

$ sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak
$ sudo vim /etc/php5/apache2/php.ini
upload_max_filesize = 2G
post_max_size = 2G

$ sudo service apache2 restart

 

*MySQL/MariaDB
—————————————

$ sudo mysql_secure_installation
Enter current pasword for root, #taper le mot de passe root de MariaDB, qui devrait être le même que celui lors de l'installation du service
Change root password, #taper “n” pour NON
Remove anonymous users, #taper “y” pour OUI
Disallow root login remotely, #taper “y” pour OUI
Remove test database and access to it, #taper “y” pour OUI
Reload privilege tables no, #taper “y” pour OUI

$ sudo mysql -u root -p
Enter password: #taper le mot de passe root de MariaDB

MariaDB [(none)]> CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS owncloudDB;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON owncloudDB.* TO 'ownclouduser'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> quit

 

Si vous rencontrez un message du type:

Error 403: Forbidden
You don’t have permission to access/owncloud/ on this server

Il suffit d’ajouter dans le fichier de configuration de apache2 les lignes ci-dessous. Pour rappel, ce n’est pas nécessaire de le faire avec la version 8 de Owncloud.

$ sudo vim /etc/apache2/apache2.conf

<Directory /home/USERNAME/www-dev/>
 Options Indexes FollowSymLinks
 AllowOverride All
 Require all granted
</Directory>

Chap 5. Connection en SSH
—————————————–

*SSH serveur
---------------------------------------

raspi$ sudo vim /etc/ssh/ssh_config
ClientAliveInterval 60
$ sudo service sshd restart

*SSH client
---------------------------------------

monOrdi$ vim ~/.ssh/config
Host *
ServerAliveInterval 60

Modification/mise-à-jour de la passephrase:

monOrdi$ cd ~/.ssh/

monOrdi:~/.ssh $ ls 
id_rsa id_rsa.pub 
monOrdi:~/.ssh $ ssh-keygen -f id_rsa -p

Chap 4. Accès au serveur Web Owncloud à partir
—————————————–

Je vous propose de revoir ce chapitre pour les détails du comment pointer votre adresse IP publique à votre nom de domaine.

$ sudo cp  /etc/apache2/apache2.conf  /etc/apache2/apache2.conf.bak
$ sudo vim /etc/apache2/apache2.conf

Ajouter les deux lignes a la fin de la page

ServerSignature Off
ServerTokens Prod

$ sudo service apache2 restart

$ sudo vim ~/www-dev/owncloud/config/config.php
'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => '10.1.2.3',
    2 => 'Mon.Adresse.IP.Publique',
    3 => '.netlib.re',
    4 => '.nsupdate.info',
  ),

$ sudo service apache2 restart

Voici le contenu de mon fichier /etc/apache2/site-enabled/owncloud.conf
=====================================================
Alias /owncloud "/home/USERNAME/www-dev/owncloud"

 <VirtualHost *:80>
 ServerName MaPage.netlib.re
 Redirect permanent / https://MaPage.netlib.re/
</VirtualHost>

<VirtualHost *:80>
 ServerName MaPage.nsupdate.info
 Redirect permanent / https://MaPage.nsupdate.info/
</VirtualHost>

# Web server configuration

<VirtualHost *:443>
 ServerName MaPage.netlib.re/
 ServerAlias MaPage.nsupdate.info/

 # SSL configuration
 #SSLEngine on

 # Restrict/deny/allow access to certain directories

 <Directory /home/USERNAME/www-dev/owncloud/>
 Options +FollowSymlinks
 AllowOverride All

 <IfModule mod_dav.c>
 Dav off
 </IfModule>

 SetEnv HOME /home/USERNAME/www-dev/owncloud
 SetEnv HTTP_HOME /home/USERNAME/www-dev/owncloud
 </Directory>

 <Directory "/home/USERNAME/www-dev/owncloud/data/">
 # just in case if .htaccess gets disabled
 Require all denied
 </Directory>

</VirtualHost>



# modern configuration, tweak to your needs
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite !--Sortie Tronquee--!
SSLHonorCipherOrder     on
SSLCompression          off

# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling          on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache        shmcb:/var/run/ocsp(128000) 

 

Ci-dessous, quelques commandes utile pour vérifier les erreurs de syntax dans /var/apache2/site-enabled/owncloud.conf

$ sudo apache2ctl configtest
$ sudo journalctl | tail


$ systemctl status apache2.service 

Pour régler les problèmes annoncés dans la page d'administration de Owncloud, il suffit d'installer php5-apcu

$ sudo apt install php5-apcu 

Puis d'ajouter la ligne ci-dessous dans ~/www-dev/USERNAME/owncloud/config/config.php

<?php
$CONFIG = array (
!--Sortie Tronquee--!
'memcache.local' => '\OC\Memcache\APCu',
);
$ sudo service apache2 restart


Chap 7. Let's Encrypt (LE)
-----------------------------------------

Le nouveau système pour l'installation de LE est beaucoup plus simple qu'auparavant.


$ mkdir ~/Letsencrypt
$ cd Letsencrypt/
~/Letsencrypt $ wget https://dl.eff.org/certbot-auto
~/Letsencrypt $ chmod a+x certbot-auto $ ./certbot-auto

Puis faites un test de verification du renouvellement automatique.

~/Letsencrypt $ certbot-auto renew --dry-run 

Créer ensuite une règle dans crontab, qui va lancer automatiquement, une demande de renouvellement du certificat une fois tous les 12 heures.

$ sudo crontab -e
  #Minute Hour Day of Month Month Day of Week Command
  #(0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)

crontab
* */12 * * * /home/matakasi/letsencrypt/certbot-auto renew --quiet --no-self-upgrade >> /var/log/apache2/letsencrypt-renew.log 2>&1

Référence:

Apache on Debian (other)

Les fichiers journaux

Chap 1. Prise en main du RPi et installation de Mate sur un Raspbian
Chap 2. Installation de OwnCloud sur un Raspberry Pi
Chap 3. Sécuriser votre RPi
Chap 4. Accès au serveur Web Owncloud à partir de son nom de domaine
Chap 5. Connection SSH
Chap 6. Les fichiers journaux
Chap 7. Let’s Encrypt (LE)
Chap 8. Ajout d’un disque dur externe et migration de données
Chap 9. Suppression et ajout d’une interface graphique
Chap 10. Rappel sur les différentes étapes pour mettre en place un server dédié à Owncloud

Chap 6. Les fichiers journaux

Vous vous êtes peut-être demandé où se situe les fichiers journaux (logs) sur votre serveur? C’est ce que je vais traiter dans cette partie. Je ne vais cependant pas me limiter à celà, puisque je vais vous aider à configurer un serveur SMTP pour automatiser l’envoie de certains fichiers journaux par courrier (email).
Je n’ai pas beaucoup parlé des fichiers journaux jusque ici. Pourtant, ces derniers sont très important, surtout pour la compréhension et l’aide au dépannage des problèmes qui peuvent survenir sur nos serveurs.

Où sont enregistré les messages d’erreur du serveur Apache?

Soyons curieux et jettons un coup d’oeil dans le fichier de configuration de /etc/apache2/apache2.conf. Faites une recherche avec le mot clé ErrorLog.

Voici ce que vous devriez trouver.

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a 
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a 
# container, that host's errors will be logged there and not here.
#
ErrorLog ${APACHE_LOG_DIR}/error.log

#
# LogLevel: Control the severity of messages logged to the error_log.
# Available values: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the log level for particular modules, e.g.
# "LogLevel info ssl:warn"
#
LogLevel warn

Ici, il est précisé que les messages d’erreurs doivent se trouver dans le dossier donné par la variable ${APACHE_LOG_DIR}/.Pour avoir des informations sur les variables dans apache, ouvrez donc le fichier /etc/apache2/envvars et faites une recherche encore une fois.

# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

Comme on le voit ici, tous les fichiers de log vont être sauvegardés dans le dossier /var/log/apache2/.

Voyons maintenant ce que contient le fichier /var/log/apache2.

$ ls /var/log/apache2
access.log
access.log.1
access.log.X.gz
!---tronquée---!
error.log
error.log.1
error.log.Y.gz
!---tronquée---!
other_vhosts_access.log

On note qu’il y a trois types de fichiers, que je vais présenter un par un ci-dessous.

1. Apache Error Log File
Ce fichier de log (ou fichier journal) contient tous les détails de ce qui s’est mal passé sur le serveur Apache (messages d’erreurs), ainsi que les information de diagnostic, pour y remédier.

2. Apache Access Log File
Le serveur Apache enregistre toutes les requêtes entrantes dans ce fichier journal.

3. Apache vHosts Access File
Les requêtes entrantes en destinations des différents hôtes virtuels y sont enregistrées dans ce fichier.

Maintenant qu’on a vu où sont enregistrés les fichiers journaux, il faut qu’on précise aussi quel niveau d’alerte doit être récupé. Vous avez différents niveaux, mais par défaut, Apache récupère tous les alertes de type WARN.

# emerg : Messages Urgents - Le système est inutilisable
# alert : Messages d’actions qui doivent être effectuées immédiatement
# crit : Messages critiques
# error : Messages d’erreur
# warn : Messages d’avertissement (par défaut)
# notice: Messages normaux mais significatives
# info : Messages d’informations
# debug : Messages de débogage
# trace[1-8]

Et, en ce qui concerne les hôtes virtuels?

Pour pour chaque hôte virtuel, vous pouvez aussi définir quel type d’information vous souhaitez voir dans les fichiers journaux, le niveau d’alerte ainsi que le dossier où les enregistrer.

La template pour s’inspirer des informations à placer dans notre fichier owncloud.conf, se trouve dans le fichier /etc/apache2/sites-enabled/000-default.conf.

$ sudo vim /etc/apache2/sites-available/owncloud.conf

	ServerName .MonDomai.ne
	Redirect permanent / https://.MonDomai.ne

	LogLevel info ssl:warn

	ErrorLog /mon/dossier/error.log
	CustomLog /mon/dossier/access.log combined

Dans cet exemple, nous allons récupérer tous les traffics en HTTPS (level Warning), ainsi que les traffics autre que ceux utilisant le protocol TLS/SSL (level Info), vers notre serveur Owncloud ainsi que ceux en destination de notre serveur Apache.
Je vais m’arrêter ici sans rentrer dans les détails. Vous pouvez toujours lire l’article sur les fichier journaux Apache si vous souhaitez en savoir un peu plus.

Comment faire pour recevoir par courriel, certains fichiers journaux?

Déjà, avant d’aller plus loin, il faut se poser la question de l’utilité d’envoie des fichiers journaux par courriel. Chaque administrateur a sa propre raison de le faire. Personnelement, j’aime bien recevoir par courriel, toutes les activités qui se passent sur mon serveur. Logwatch est de ce fait, un très bon choix.

Installation et configuration de Logwatch

Logwatch est au fait, un script écrit en perl. Son installation et sa configuration est très simple comme nous allons le voir ci-dessous.

$ sudo apt-get install logwatch
!---Tronquée---!
The following extra packages will be installed:
bsd-mailx exim4-base exim4-config exim4-daemon-light libdate-manip-perl
liblockfile-bin liblockfile1 libsys-cpu-perl
Suggested packages:
mail-reader eximon4 exim4-doc-html exim4-doc-info spf-tools-perl swaks
fortune-mod
Recommended packages:
mailx
Vérifier que le programme fonctionne correctement.
$ logwatch
 ################### Logwatch 7.4.0 (03/01/11) #################### 
        Processing Initiated: Wed Apr 13 22:32:28 2016
        Date Range Processed: yesterday
                              ( 2016-Apr-12 )
                              Period is day.
        Detail Level of Output: 0
        Type of Output/Format: stdout / text
        Logfiles for Host: raspi
 ################################################################## 
 
 --------------------- httpd Begin ------------------------ 

 Connection attempts using mod_proxy:
    a.b.c.d -> www.xxxxxxx.com:port: 1 Time(s)
    e.f.g.h -> www.yyyyyyy.com:port: 4 Time(s)
 
!--Tronquée--!
 
 ---------------------- httpd End ------------------------- 

 
 --------------------- pam_unix Begin ------------------------ 

 sudo:
    Authentication Failures:
       USERNAME(1000) -> USERNAME: 1 Time(s)
    Sessions Opened:
       USERNAME -> root: 14 Time(s)
 
 systemd-user:
    Unknown Entries:
       session closed for user USERNAME: 3 Time(s)
       session opened for user USERNAME by (uid=0): 3 Time(s)
 
 
 ---------------------- pam_unix End ------------------------- 

 
 --------------------- SSHD Begin ------------------------ 

 
 Users logging in through sshd:
    USERNAME:
       i.j.k.l: 3 times
 
 ---------------------- SSHD End ------------------------- 

 
 --------------------- Sudo (secure-log) Begin ------------------------ 

 
 USERNAME => root
 ----------------
 /bin/cat                       -   1 Time(s).
 /bin/ls                        -   3 Time(s).
 /sbin/iptables                 -   4 Time(s).
 /sbin/iptables-restore         -   2 Time(s).
 /usr/bin/crontab               -   2 Time(s).
 /usr/bin/vim                   -   2 Time(s).
 
 ---------------------- Sudo (secure-log) End ------------------------- 

 
 --------------------- Disk Space Begin ------------------------ 

 Filesystem      Size  Used Avail Use% Mounted on
 /dev/root       7.2G  3.6G  3.4G  52% /
 devtmpfs        483M     0  483M   0% /dev
 /dev/mmcblk0p1   60M   20M   41M  34% /boot
 
 
 ---------------------- Disk Space End ------------------------- 

 
 ###################### Logwatch End #########################

Editer ensuite le fichier /etc/cron.daily/000logwatch, pour que le serveur vous envoie automatiquement les informations obtenues par la commande logwatch comme ci-dessus, par email.

$ sudo vim /etc/cron.daily/00logwatch

Remplacer la ligne,

/usr/sbin/logwatch --output mail

Par

/usr/sbin/logwatch --mailto mon@adresse.mail --detail high

Pour en savoir un peu plus sur CRON, je vous renvoie sur cette page.

Configuration du serveur email

Si vous n’avez pas installé de serveur email, autre que celui installé par défaut sur Debian (Exim), installer l’outil Mailutils, qui vous permettra d’envoyer des emails.
L’installation de l’outil GNU/Mailutils est très simple.
$ apt-get install mailutils
Taper ensuite la commande « mu-tool info » pour avoir plus d’information sur ce que l’outil peut gérer.

$ mu-tool info
VERSION=2.99.98
SYSCONFDIR=/etc
MAILSPOOLDIR=/var/mail/
SCHEME=mbox
LOG_FACILITY=mail
IPV6
USE_LIBPAM
HAVE_LIBLTDL
WITH_KYOTOCABINET
WITH_GNUTLS
WITH_GSASL
WITH_GSSAPI
WITH_GUILE
WITH_PYTHON
WITH_PTHREAD
WITH_READLINE
HAVE_MYSQL
WITH_LDAP
WITH_LIBWRAP
ENABLE_VIRTUAL_DOMAINS
ENABLE_IMAP
ENABLE_POP
ENABLE_MH
ENABLE_MAILDIR
ENABLE_SMTP
ENABLE_SENDMAIL

Vérifier maintenant que vous pouvez envoyer un email du serveur.

Pour faire simple, j’envoie un email sans contenu, d’où le message « le corp du message est vide, etc. »

$ mail -s "Hello World!" mon@adresse.mail < /dev/null
Null message body; hope that's ok
!--Tronquée--!
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

mon@adresse.mail
Mailing to remote domains not supported

Ici, le message d’erreur est très clair. Le message ne peut pas être envoyé, puisque l’envoie d’email à un serveut distant n’est pas supporté.

Vérifions la configuration de notre serveur email, Exim.

$ sudo dpkg-reconfigure exim4-config

Choisissez « internet site », afin de pouvoir envoyer et recevoir les emails via le protocol SMTP.

050

Donner un nom au système email.

051

Ne rien modifier sur cette page.

052

Pour les autres destinations, j’ai choisi le même nom qu’à l’étape précédente.

053

Passer à la page suivante sans rien modifier sur celle-ci.

054

Pareil pour cette page.

055

Cliquer sur NON à la demande de garder un nombre minimal de requêtes DNS.

056

Choisissez ensuite l’option mbox.

057

Choisissez de ne pas découper le fichier de configuration de Exim en plusieurs petits fichiers configurables individuellement.

058

Ajouter toutes les adresses emails sur lesquelles vous souhaitez recevoir les alertes. L’ajout de root n’est pas obligatoire.

059

Mettez à jour les informations du Parefeux

Ajouter une règle dans le parefeux pour autoriser les paquets SMTPs à sortir de votre réseau.

$ sudo vim /etc/iptables.firewall.rules
# Allows SMTP access
-A INPUT -p tcp --dport 25 -j ACCEPT

$ sudo iptables-restore < /etc/iptables.firewall.rules

Vérifier ensuite que la nouvelle règle est prise en compte.

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere loopback/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
ACCEPT tcp -- anywhere anywhere tcp dpt:urd
ACCEPT tcp -- anywhere anywhere tcp dpt:submission
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT icmp -- anywhere anywhere icmp echo-request
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere

Envoyer un email de test en ligne de commande, puis de vérifier si vous l’avez reçu dans votre boîte email.

$ mail -s "Hello World!" mon@adresse.mail < /dev/null
Null message body; hope that's ok

Sources et Réferences

How To Configure Logging And Log Rotation In Apache On An Ubuntu VPS
Log Files
Install Logwatch To Keep An Eye On Things
Linux mail command examples – send mails from command line
How To Install the Send-Only Mail Server « Exim » on Ubuntu 12.04
How to send email from the Linux command line
Exim Internet Mailer

Debian: Probleme de son sur le PowerMac G5

En lancant MPlayer, le message ci-dessous s’affiche a l’ecran.

Avec VLC,

J’ai commence par ajouter le paquet « pulseaudio » a partir de synaptic (ou encore, en ligne de commande, aptitude install pulseaudio), puis de voir ce que ca va donner.

 En faisant quelques recherches, le probleme de son sur les PowerMacs est apparement un bug qui n’a pas encore ete corrige. Pour ce faire, ajouter les module des noyaux snd-aoa puis de mettre en commentaires le contenu du fichier /etc/modprobe.d/blacklist.local.conf.

root@debian:~# cat /etc/modules
apm_emu
loop
# snd-powermac
snd_aoa_i2sbus
snd_aoa_fabric_layout

# snd_aoa_codec_tas
snd_aoa_codec_onyx

root@debian:~# cat /etc/modprobe.d/blacklist.local.conf
# Local module settings
# Created by the Debian installer

# blacklist snd-aoa-codec-tas
# blacklist snd-aoa-fabric-layout
# blacklist snd-aoa-i2sbus
# blacklist snd-aoa-soundbus
# blacklist snd-aoa

Apres redemarrage de l’ordinateur, j’ai du son mais uniquement en sortie casque. Pour avoir le son au niveau des haut-parleurs internes, il faut verifier que toutes les sorties audio ne sont pas muettes.

Voici quelques informations supplementaires qui pourraient etre utile pour verifier les problemes de son.

$ dmesg |grep snd
[    8.726306] snd-powermac no longer handles any machines with a layout-id property in the device-tree, use snd-aoa.

$ dpkg -l | egrep « (asound|alsa|puls) »
ii  alsa-base                               1.0.25+3~deb7u1                    all          ALSA driver configuration files
ii  alsa-utils                              1.0.25-4                           powerpc      Utilities for configuring and using ALSA
ii  gstreamer0.10-alsa:powerpc              0.10.36-1.1                        powerpc      GStreamer plugin for ALSA
ii  gstreamer0.10-pulseaudio:powerpc        0.10.31-3+nmu1                     powerpc      GStreamer plugin for PulseAudio
ii  liballegro4.4-plugin-alsa:powerpc       2:4.4.2-2.1                        powerpc      ALSA audio plugin for the Allegro library
ii  libasound2:powerpc                      1.0.25-4                           powerpc      shared library for ALSA applications
ii  libasound2-dev:powerpc                  1.0.25-4                           powerpc      shared library for ALSA applications — development files
ii  libasound2-plugins:powerpc              1.0.25-2                           powerpc      ALSA library additional plugins
ii  libpulse-mainloop-glib0:powerpc         2.0-6.1                            powerpc      PulseAudio client libraries (glib support)
ii  libpulse0:powerpc                       2.0-6.1                            powerpc      PulseAudio client libraries
ii  pulseaudio                              2.0-6.1                            powerpc      PulseAudio sound server
ii  pulseaudio-module-x11                   2.0-6.1
                           powerpc      X11 module for PulseAudio sound server
ii  pulseaudio-utils                        2.0-6.1                            powerpc      Command line tools for the PulseAudio sound server
ii  vlc-plugin-pulse                        2.0.3-5                            powerpc      PulseAudio plugin for VLC

$ lsmod | grep snd
snd_seq_dummy           5103  0
snd_powermac           71361  0
snd_pcm                95682  1 snd_powermac
snd_seq                65657  1 snd_seq_dummy
snd_seq_device          9150  2 snd_seq,snd_seq_dummy
snd_timer              26796  2 snd_seq,snd_pcm
snd                    79176  5 snd_timer,snd_seq_device,snd_seq,snd_pcm,snd_powermac
soundcore               9627  1 snd
snd_page_alloc          9833  1 snd_pcm

$ cat /proc/asound/cards
— no soundcards —

$ aplay -l
aplay: device_list:252: no soundcards found…

$ id
uid=1000(malagasy) gid=1000(malagasy) groups=1000(malagasy),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),104(scanner),109(bluetooth),110(netdev)
$ amixer
Simple mixer control ‘Master’,0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left – Front Right
  Limits: Playback 0 – 65536
  Mono:
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]
Simple mixer control ‘Capture’,0
  Capabilities: cvolume cswitch cswitch-joined penum
  Capture channels: Front Left – Front Right
  Limits: Capture 0 – 65536
  Front Left: Capture 65536 [100%] [on]
  Front Right: Capture 65536 [100%] [on]

$ cat /proc/asound/cards
 0 [SoundByLayout  ]: AppleOnbdAudio – SoundByLayout
                      SoundByLayout

$ cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.24.

Source:

Debian Bug report logs – #650588

Debian: Lecture de video impossible

Message d’erreur

[swscaler @ 0x3450020] pal8 is not supported as output pixel format
[0x27f15e0] swscale scale error: could not init SwScaler and/or allocate memory

[0x7f7428029e80] xcb_xv generic error: no available XVideo adaptor

Ce problème est surement arrivé depuis que j’ai ajouté le lien vers le dépot multimedia dans /etc/apt/sources.list, qu’il faut absolument supprimer avant de suivre les étapes ci-dessous:

Le contenu de mon fichier  /etc/apt/sources.list, sans rien ajouter de plus

###### Debian Main Repos
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

###### Debian Update Repos
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ squeeze-proposed-updates main contrib non-free

Ensuite

# aptitude update

# aptitude remove libavutil* vlc
# aptitude install vlc

Source

The VideoLAN project strongly advises that you do not use the Debian Multimedia repository under any circumstances

Traker Applet : error

Un petit bug juste après l’upgrade :

there was an error while performing indexing : Index corrupted


Pour résoudre ce problème, il suffit juste d’ouvrir une console et de taper la commande suivante :

tracker-processes -r

Il est connu et la solution est:

« Dans certains cas l’index du moteur de recherche du poste de travail «
tracker » peut devenir invalide. Une boîte de dialogue s’affichera, vous
demandant de « Ré-indexer tous les contenus ». Ne cliquez pas ! Ceci ne
fonctionne pas, le service tracker pourrait se mettre à occuper toutes
les ressources disque et processeur. Pour contourner le problème,
appuyez sur Alt+F2 et tapez tracker-processes -r. Ceci sera corrigé dans
une future mise à jour(361205). « 

https://wiki.ubuntu.com/JauntyJackalope/ReleaseNotes/fr

Si cette commande (tracker-processes) n’existe pas dans ton PC, tu dois
installer le paquet tracker-utils

Source :
indexation sous Ubuntu 9.04

W: GPG error – la clé publique n’est pas disponible

Lors de la mise à jour avec apt-get update, j’ai ce message d’erreur :

W: GPG error: http://ppa.launchpad.net intrepid Release: Les signatures suivantes n’ont pas pu être vérifiées car la clé publique n’est pas disponible : NO_PUBKEY KEY*

Pour y remédier, il faut taper dans une commande chacune des deux lignes suivante :

gpg --keyserver keyserver.ubuntu.com --recv KEY*
gpg --export --armor KEY* | sudo apt-key add -
sudo apt-get update

W: GPG error: http://fr.packages.medibuntu.org intrepid Release: Les signatures suivantes n’ont pas pu être vérifiées car la clé publique n’est pas disponible : NO_PUBKEY 2EBC26B60C5A2783

malagasy@malagasy-laptop:~$ gpg –keyserver subkeys.pgp.net –recv 2EBC26B60C5A2783
gpg: requesting key 0C5A2783 from hkp server subkeys.pgp.net
gpg: key 0C5A2783: public key « Medibuntu Packaging Team  » imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1

malagasy@malagasy-laptop:~$ gpg –export –armor 2EBC26B60C5A2783 | sudo apt-key add –
OK


Source :

https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/323753

GPG error: http://ppa.launchpad.net

Certains d’entre vous ont problablement rencontré ce type de message d’erreur:

sudo apt-get update
Atteint http://archive.canonical.com intrepid Release.gpg
(…)
Lecture des listes de paquets… Fait
W: GPG error: http://ppa.launchpad.net intrepid Release: Les signatures suivantes n’ont pas pu être vérifiées car la clé publique n’est pas disponible : NO_PUBKEY FC66403D8670A035
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.

Même en relançant une nouvelle fois un « apt-get update », vous rencontrez toujour le même message, et c’est lassant à la fin.

La solution est de trouver la bonne clé sur le site https://launchpad.net/

Dans mon cas, la clé que j’avais pour le dépôt Spring dans /etc/apt/sources.list n’est probablement pas le bon. Voici ce que j’avais:

###############################################################################
# DEPOTS SPRING
deb http://ppa.launchpad.net/spring/ubuntu intrepid main
# deb-src http://ppa.launchpad.net/spring/ubuntu intrepid main

Je suis allé sur le site https://launchpad.net/, puis j’ai fait une recherche sur « ppa spring », ce qui m’a conduit à PPA for Spring developers


Il vous faudrait recopier les informations sur l’adresse du dépôt dans votre fichier /etc/apt/sources.list, c’est à dire:

deb http://ppa.launchpad.net/spring/ppa/ubuntu intrepid main
# deb-src http://ppa.launchpad.net/spring/ppa/ubuntu intrepid main

Une fois ceci fait, sur https://launchpad.net/~spring/+archive/ppa, cliquez sur le lien 2B41843AB093E96FD7C1014DFC66403D8670A035 au niveau de la ligne suivante:

This repository is signed with 2B41843AB093E96FD7C1014DFC66403D8670A035 OpenPGP key. Follow these instructions for installing packages from this PPA.

Ensuite, il faut cliquer sur le lien 8670a035 à la ligne:

pub 1024R/8670A035 2009-01-20 Launchpad PPA for Spring developers

Finalement il vous suffit juste de copier le lien de la page que vous obtenez. Ici, le lien que j’ai est: http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0xFC66403D8670A035

Il vous faut ensuite ouvrir une console et insérer ce lien comme suit:

malagasy@malagasy-laptop:~$ wget -q 'http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0xFC66403D8670A035' -O- | sudo apt-key add -

Vous devriez avoir un OK après avoir tapé sur Entrée sur votre clavier. Puis, si vous effectuer une nouvelle fois un « apt-get update », tout devrait rentrer dans l’ordre.

Source:
– forum ubuntu :)

edit : une façon plus simple d’y remédier au problème se trouve à cette page