Récupération d'articles d'archives
This commit is contained in:
@@ -0,0 +1,488 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/516
|
||||
date: '2012-02-07 00:05:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/
|
||||
tags:
|
||||
- Apache
|
||||
- phpMyAdmin
|
||||
- Roundcube
|
||||
title: Installation d'un serveur HTTP/HTTPS
|
||||
weather:
|
||||
humidity: 59
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1029.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -11.2
|
||||
wind_direction: 56
|
||||
wind_speed: 8.3
|
||||
weight: 5
|
||||
---
|
||||
|
||||
On continue [notre nouvelle série d'articles](https://web.archive.org/web/20120617154444/http://ingnu.fr/category/creer-son-propre-cloud/).
|
||||
Après avoir [créer un pare-feu de base](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/05/creer-son-propre-cloud-introduction/) que nous complèterons au fil des articles, après avoir [mis en place une autorité de certification](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/06/creation-de-sa-propre-autorite-de-certification/), puis [un serveur DNS](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/) et [un serveur mail](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/), nous nous attaquons maintenant à l'installation du serveur [apache](https://web.archive.org/web/20120617154444/http://httpd.apache.org/).
|
||||
|
||||
Apache devra pouvoir desservir des pages aussi bien en HTTP qu'en HTTPS, permettre l'utilisation de langages comme [PHP](https://web.archive.org/web/20120617154444/http://fr.php.net/) et les scripts CGI, tout en assurant une bonne réactivité et un degrés certain de sécurité.
|
||||
|
||||
Un serveur HTTP(S) nous permettra de mettre en place une grande variété de services : dans un premier temps, un outil pour gérer notre base de données et un client mail, puis par la suite, un blog, un wiki, un lecteur de flux RSS, etc.
|
||||
|
||||
Il nous permettra également de mettre en place un proxy pour simplifier l'accès à des applications offrant une interface web, partager et accéder aux fichiers, et bien d'autres choses encore.
|
||||
Rappelons que l'objectif est de s'affranchir de tout outil du Cloud, proposé par de grandes entreprises telles que Google.
|
||||
Apache en sera un moyen d'y accéder facilement.
|
||||
|
||||
Important : _Top Level Domain_
|
||||
|
||||
_mail.exemple.fr_
|
||||
|
||||
_exemple.fr_
|
||||
|
||||
_.fr_
|
||||
|
||||
Ce petit rappel effectué, on peut organiser les sites desservis par apache de la manière suivante :
|
||||
|
||||
```text
|
||||
/var/www Racine
|
||||
/var/www/exemple.fr Racine du domaine
|
||||
/var/www/exemple.fr/mail Racine du sous-domaine mail
|
||||
/var/www/exemple.fr/mail/www Racine du site hébergé
|
||||
/var/www/exemple.fr/mail/log Journaux
|
||||
/var/www/exemple.fr/www Racine du domaine principal
|
||||
/var/www/exemple.fr/www/www Racine du site hébergé
|
||||
/var/www/exemple.fr/www/log Journaux
|
||||
```
|
||||
|
||||
Une telle arborescence permet d'organiser correctement les différents sites qui pourront être desservis par Apache, tout en ayant rapidement à portée de la main les journaux pour chaque sous-domaine.
|
||||
Cela nous permettra également de confier ces journaux à une application telle que [awstats](https://web.archive.org/web/20120617154444/http://awstats.sourceforge.net/) pour une analyse plus efficace que si tous les journaux étaient regroupés dans le même fichier.
|
||||
|
||||
Avant toute chose, installons quelques paquets, stoppons apache, et supprimons les hôtes virtuels par défaut :
|
||||
|
||||
```bash
|
||||
apt-get install apache2 libapache2-mod-php5 php5 php5-mysql php5-mcrypt php-mdb2 php-mdb2-driver-mysql
|
||||
/etc/init.d/apache2 stop
|
||||
a2dissite default && rm /etc/apache2/sites-available/default
|
||||
a2dissite default-ssl && rm /etc/apache2/sites-available/default-ssl
|
||||
cd /etc/apache2
|
||||
```
|
||||
|
||||
On désactive ensuite totalement la journalisation dans apache :
|
||||
|
||||
```bash
|
||||
rm conf.d/other-vhosts-access-log
|
||||
nano apache2.conf
|
||||
```
|
||||
|
||||
Commentez la ligne :
|
||||
|
||||
```text
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
```
|
||||
|
||||
Comme on va également faire appel à SSL, on active le port 443 :
|
||||
|
||||
```bash
|
||||
mv ports.conf ports.conf-orig
|
||||
nano ports.conf
|
||||
```
|
||||
|
||||
```text
|
||||
NameVirtualHost *:80
|
||||
NameVirtualHost *:443
|
||||
Listen 80
|
||||
Listen 443
|
||||
```
|
||||
|
||||
On va continuer en créant quatre arborescences différentes, pour quatre sites différents.
|
||||
|
||||
Le premier pourrait être simplement qualifié de bonne pratique : afin d'accélérer le chargement des pages, il convient de confier certains éléments à un sous-domaine particulier, desservi par un hôte virtuel ne journalisant pas ses accès, et contenant des éléments statiques, tels que des images ou des scripts.
|
||||
On économise ainsi plusieurs cycles d'écriture à chaque chargement de page.
|
||||
|
||||
## Domaine static
|
||||
|
||||
Créons la première arborescence :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/static/www
|
||||
```
|
||||
|
||||
On créé ensuite notre premier hôte virtuel :
|
||||
|
||||
```bash
|
||||
cd /etc/apache2/sites-available
|
||||
nano static.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName static.exemple.fr
|
||||
ServerAdmin contact@exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/static/www
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Rien de bien sorcier : on déclare un nouvel hôte virtuel écoutant sur toutes les interfaces configurées dans apache (\*) sur le port 80.
|
||||
On déclare également le nom de domaine affecté à cet hôte virtuel, en indiquant éventuellement (ce n'est pas une obligation) l'adresse email du responsable.
|
||||
Enfin, la dernière directive défini la racine du site, là où se trouveront les fichiers.
|
||||
Pour le moment, il n'y en a aucun, mais au moins, on a un hôte virtuel destiné à stocker les fichiers statiques, c'est déjà ça.
|
||||
|
||||
## Domaine www
|
||||
|
||||
Le domaine (sous-domaine plus exactement) _www_ est un peu particulier dans la mesure où il est plus utilisé par habitude que réel besoin : on se passe très bien de la partie _www_ dans *www.exemple.fr*.
|
||||
Cela nous donne toutefois deux bonnes occasions : conserver notre arborescence de base saine, et voir comment créer un alias de domaine.
|
||||
|
||||
Notre objectif sera de faire en sorte que, peu importe si on accède à notre site principal via `http://exemple.fr` ou `http://www.exemple.fr`, on devra tomber sur la même page.
|
||||
On aura recours, pour cela, à la directive _ServerAlias_.
|
||||
|
||||
On créé donc notre second hôte virtuel avec son arborescence :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/www/{www,log}
|
||||
nano www.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName exemple.fr
|
||||
ServerAlias www.exemple.fr
|
||||
ServerAdmin contact@exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/www/www
|
||||
|
||||
CustomLog /var/www/exemple.fr/www/log/access_log
|
||||
ErrorLog /var/www/exemple.fr/www/log/error_log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Par la même occasion, on en a profité pour spécifier le chemin vers le journal des accès et le journal des erreurs.
|
||||
Il faudra procéder de même pour tout hôte virtuel créé à l'avenir.
|
||||
|
||||
Pour le moment, nous n'utiliserons pas ce domaine : c'est vous qui déciderez ce que vous voulez en faire : blog, portail privé, etc.
|
||||
|
||||
## Domaine mysql
|
||||
|
||||
Le nom de ce sous-domaine importe peu.
|
||||
J'ai choisi _mysql_, comme j'aurai pu choisir _pma_, _phpmyadmin_, _admin_ ou tout autre.
|
||||
Cependant, en consultant régulièrement mes logs, j'ai constaté que certains s'amusent à scanner certains sous-domaines-clés, pour éventuellement tomber sur un script d'administration non-sécurisé.
|
||||
J'ai vu passer toutes sortes de sous-domaines, mais assez étonnamment, peu tentent _mysql.exemple.fr_.
|
||||
|
||||
Ce domaine servira à accéder justement à [phpMyAdmin](https://web.archive.org/web/20120617154444/http://www.phpmyadmin.net/), script php probablement le plus utilisé pour administrer graphiquement ses bases de données.
|
||||
Outre l'aspect pédagogique de sa présence dans cet article, puisque c'est un bon prétexte à l'introduction à SSL avec apache, ce sera également un outil très pratique pour la création de futures bases de données, mais aussi pour des tâches plus triviales comme la population de notre première base créée, _MailServer_.
|
||||
|
||||
Créons l'arborescence et l'hôte virtuel :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/mysql/www
|
||||
```
|
||||
|
||||
```bash
|
||||
nano mysql.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName mysql.exemple.fr
|
||||
Redirect / https://mysql.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName mysql.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/mysql/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/mysql.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/mysql.exemple.fr.key
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Ici, nous créons un hôte virtuel écoutant sur le port 80, dont l'unique objectif sera de forcer la redirection vers le même hôte virtuel, mais écoutant sur le port 443 (le port HTTPS).
|
||||
La connexion à _mysql.exemple.fr_ sera donc forcément chiffrée.
|
||||
|
||||
On va tout de suite créer le certificat et la clé qui vont bien :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache mysql.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache mysql.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : _Common Name_
|
||||
|
||||
On va ensuite télécharger et installer phpMyAdmin.
|
||||
À l'heure où j'écris ces lignes, la dernière version disponible est la 3.4.9.
|
||||
|
||||
```bash
|
||||
cd /usr/src
|
||||
wget http://freefr.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.9/phpMyAdmin-3.4.9-all-languages.tar.gz
|
||||
tar zxf phpMyAdmin-3.4.9-all-languages.tar.gz
|
||||
cp -Rv phpMyAdmin-3.4.9-all-languages/* /var/www/exemple.fr/mysql/www/
|
||||
mkdir /var/www/exemple.fr/mysql/www/config/
|
||||
chown -R www-data:www-data /var/www/exemple.fr/mysql/www
|
||||
```
|
||||
|
||||
Après avoir décompressé l'archive, on a copié les fichiers extraits dans le répertoire racine du sous-domaine _mysql_, puis on a créé le répertoire _config_ qui va nous servir à paramétrer phpMyAdmin.
|
||||
Enfin, on a attribué les bons droits à l'ensemble de l'arborescence.
|
||||
|
||||
Notice : ```text
|
||||
chown -R www-data:www-data <fichier ou répertoire>
|
||||
|
||||
````
|
||||
|
||||
Pour le moment, notre serveur n'est pas accessible depuis l'extérieur, nous nous occuperons donc de la configuration de phpMyAdmin plus tard.
|
||||
En attendant, créons notre dernier hôte virtuel.
|
||||
|
||||
## Domaine mail
|
||||
|
||||
Revenons dans le répertoire de configuration des hôtes virtuels :
|
||||
|
||||
```bash
|
||||
cd /etc/apache2/sites-available
|
||||
````
|
||||
|
||||
Et créons la nouvelle arborescence :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/mail/{www,log}
|
||||
```
|
||||
|
||||
Nous allons combiner tout ce que nous avons vu jusqu'à présent pour créer le fichier de configuration de cet hôte virtuel :
|
||||
|
||||
```bash
|
||||
nano mail.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName mail.exemple.fr
|
||||
Redirect / https://mail.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName mail.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/mail/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/mail.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/mail.exemple.fr.key
|
||||
|
||||
CustomLog /var/www/exemple.fr/mail/log/access_log
|
||||
ErrorLog /var/www/exemple.fr/mail/log/error_log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
On créé notre couple clé/certificat :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache mail.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache mail.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : _Common Name_
|
||||
|
||||
Pour la consultation des mails, on va faire appel à l'excellent [RoundCube](https://web.archive.org/web/20120617154444/http://roundcube.net/), actuellement en version 0.7.1.
|
||||
|
||||
```bash
|
||||
cd /usr/src
|
||||
wget http://freefr.dl.sourceforge.net/project/roundcubemail/roundcubemail/0.7.1/roundcubemail-0.7.1.tar.gz
|
||||
tar zxf roundcubemail-0.7.1.tar.gz
|
||||
cp -Rv roundcubemail-0.7.1/* /var/www/exemple.fr/mail/www/
|
||||
cp roundcubemail-0.7.1/.htaccess /var/www/exemple.fr/mail/www/
|
||||
chown -R www-data:www-data /var/www/exemple.fr/mail/www/
|
||||
```
|
||||
|
||||
La configuration de RoundCube peut se faire depuis Internet, mais encore une fois, notre serveur n'est pas encore accessible depuis l'extérieur.
|
||||
On va donc patienter encore un peu.
|
||||
|
||||
On active maintenant nos hôtes virtuels fraîchement créés :
|
||||
|
||||
```bash
|
||||
ln -s /etc/apache2/sites-available/www.exemple.fr /etc/apache2/sites-available/default
|
||||
a2ensite default
|
||||
a2ensite www.exemple.fr
|
||||
a2ensite static.exemple.fr
|
||||
a2ensite mysql.exemple.fr
|
||||
a2ensite mail.exemple.fr
|
||||
/etc/init.d/apache2 start
|
||||
```
|
||||
|
||||
Important : _default_
|
||||
|
||||
*www.exemple.fr*
|
||||
|
||||
*www.exemple.fr*
|
||||
|
||||
Consultez les journaux des différents hôtes (en particulier les journaux d'erreurs) pour vous assurer que tout fonctionne bien du côté d'apache.
|
||||
|
||||
## DNS
|
||||
|
||||
On édite le fichier de configuration de notre domaine :
|
||||
|
||||
```bash
|
||||
nano /etc/bind/db.exemple.fr
|
||||
```
|
||||
|
||||
A la fin du fichier, rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
www IN CNAME ns
|
||||
* IN CNAME ns
|
||||
```
|
||||
|
||||
Ces deux lignes définissent un alias (_CNAME_) du domaine _www_ et de tout autre sous-domaine vers l'adresse IP attribuée au sous-domaine _ns_.
|
||||
Dans notre cas, tous ces sous-domaines pointent vers l'adresse principale de notre serveur (1.1.1.1, pour réutiliser l'exemple de départ).
|
||||
|
||||
On redémarre bind :
|
||||
|
||||
```bash
|
||||
/etc/init.d/bind9 restart
|
||||
```
|
||||
|
||||
## Firewall
|
||||
|
||||
```bash
|
||||
nano /scripts/firewall
|
||||
```
|
||||
|
||||
Entre les lignes :
|
||||
|
||||
```text
|
||||
##### Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Et :
|
||||
|
||||
```text
|
||||
##### Fin : Configuration personnalisée #####
|
||||
```
|
||||
|
||||
Rajoutez les lignes suivantes :
|
||||
|
||||
```text
|
||||
${IPT} -A SERVICES -p tcp --dport 80 -j ACCEPT
|
||||
${IPT} -A SERVICES -p tcp --dport 443 -j ACCEPT
|
||||
```
|
||||
|
||||
## Configuration de phpMyAdmin
|
||||
|
||||
Rendez-vous à l'adresse `http://mysql.exemple.fr/setup/` et laissez-vous guider.
|
||||
Une fois que vous avez modifié votre configuration, déplacez le fichier à la racine :
|
||||
|
||||
```text
|
||||
mv /var/www/exemple.fr/mysql/www/config/config.inc.php /var/www/exemple.fr/mysql/www/
|
||||
chown www-data:www-data /var/www/exemple.fr/mysql/www/config.inc.php
|
||||
```
|
||||
|
||||
Je vous recommande la lecture de [cette page](https://web.archive.org/web/20120617154444/http://www.phpmyadmin.net/documentation/Documentation.html#config) qui va vous permettre de paramétrer phpMyAdmin beaucoup plus finement que ce que permet l'interface web.
|
||||
|
||||
Une fois terminé, supprimez le répertoire _config_ :
|
||||
|
||||
```text
|
||||
rm -r /var/www/exemple.fr/mysql/www/config/
|
||||
```
|
||||
|
||||
## Configuration de RoundCube
|
||||
|
||||
Maintenant que phpMyAdmin est installé, il vous sera plus simple de créer l'utilisateur et la base de données pour RoundCube.
|
||||
Ouvrez donc phpMyAdmin (`http://mysql.exemple.fr`), et cliquez sur l'onglet " _Utilisateurs_ ", puis sur le lien " _Ajouter un utilisateur_ " en bas de page.
|
||||
|
||||
Donnez-lui le nom de _RoundCube_, pour le client _localhost_, et générez un mot de passe.
|
||||
Cochez également la case " _Créer une base de données portant son nom et donner à cet utilisateur tous les privilèges sur cette base_ ".
|
||||
|
||||
Rendez-vous ensuite à l'adresse `https://mail.exemple.fr/installer/`.
|
||||
Sur la première page, vous verrez la liste des dépendances de RoundCube.
|
||||
S'il en manque l'une ou l'autre, installez-la (via _apt-get install <paquet>_ ou _pear install <paquet>_ si la première méthode ne donne rien) et redémarrez apache.
|
||||
Une fois que tout est bon, cliquez en bas sur _Next_.
|
||||
|
||||
Petit exercice : remplissez les différents champs en prenant en considération que :
|
||||
|
||||
- Le port SMTP est le 465 (via tls, pas ssl)
|
||||
- Le port IMAP est le 993 (via ssl, pas tls)
|
||||
- L'adresse du serveur est 127.0.0.1
|
||||
|
||||
## Touches finales
|
||||
|
||||
Une fois RoundCube correctement configuré, créez-vous votre propre adresse email via phpMyAdmin, dans la base de données _MailServer_, et dans la table _users_.
|
||||
Pensez à sélectionner le type _MD5_ lorsque vous saisirez votre mot de passe.
|
||||
|
||||
Par la même occasion, allez dans la table _aliases_, et créez deux enregistrements, dont le champ _source_ sera respectivement _root_ et _postmaster_, et _destination_ l'adresse email que vous venez de vous créer.
|
||||
Cela vous permettra de recevoir les mails administratifs envoyés automatiquement par les différents services de votre serveur.
|
||||
|
||||
[Nous avions précédemment configuré une liste blanche d'expéditeurs](https://web.archive.org/web/20120617154444/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/), toujours autorisés à vous envoyer des mails.
|
||||
Cette liste correspond à la table _access_sender_ de la base de données _MailServer_.
|
||||
Nous allons nous servir de RoundCube pour peupler automatiquement cette table, dès que vous enverrez un message.
|
||||
|
||||
Éditez la configuration de RoundCube :
|
||||
|
||||
```text
|
||||
nano /var/www/exemple.fr/mail/www/config/main.inc.php
|
||||
```
|
||||
|
||||
Cherchez le terme " _plugins_ " (via la combinaison de touches Ctrl+w).
|
||||
|
||||
Complétez la liste présente, en rajoutant :
|
||||
|
||||
```text
|
||||
"automatic_addressbook"
|
||||
```
|
||||
|
||||
Modifiez ensuite le plugin en question :
|
||||
|
||||
```text
|
||||
nano /var/www/exemple.fr/mail/www/plugins/automatic_addressbook/automatic_addressbook.php
|
||||
```
|
||||
|
||||
Aux alentours de la ligne 110, cherchez le code suivant :
|
||||
|
||||
```php
|
||||
foreach($all_recipients as $recipient) {
|
||||
// Bcc and Cc can be empty
|
||||
if ($recipient['mailto'] != '') {
|
||||
$contact = array(
|
||||
'email' => $recipient['mailto'],
|
||||
'name' => $recipient['name']
|
||||
);
|
||||
```
|
||||
|
||||
Rajoutez après :
|
||||
|
||||
```php
|
||||
$con = mysql_connect("localhost", "MailServer", "MotDePasse");
|
||||
mysql_select_db("MailServer");
|
||||
|
||||
mysql_query("insert into access_sender (`source`,`access`) values ('" . $contact["email"] . "','OK')");
|
||||
mysql_close($con);
|
||||
```
|
||||
|
||||
Pensez à modifier le mot de passe (il s'agit de celui de l'utilisateur _MailServer_).
|
||||
|
||||
Enregistrez et fermez.
|
||||
Désormais, dès que vous écrirez à quelqu'un, son adresse sera automatiquement ajoutée à la liste blanche.
|
||||
|
||||
Si vous le souhaitez, vous pouvez également éditer directement cette liste, en modifiant le contenu de la table _access_sender_.
|
||||
|
||||
| source | Adresse email à mettre en liste blanche (toujours autorisée à nous contacter, même si son client mail ne respecte pas les standards |
|
||||
| ------ | ----------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| access | OK pour autoriser, NULL pour bloquer |
|
||||
| active | 1 pour activer, 0 pour désactiver |
|
||||
|
||||
Vous avez maintenant à votre disposition les fondements les plus importants pour la mise en place de votre cloud.
|
||||
Votre serveur est sécurisé via un script iptables restrictif, vous disposez d'un serveur de noms de domaine, d'un serveur de base de données, d'un serveur mail, et d'un serveur HTTP(S).
|
||||
Enfin, vous disposez d'une interface pour gérer facilement votre base de données, et d'un client mail agréable à utiliser.
|
||||
|
||||
Dans les prochains articles, nous verrons (dans le désordre) :
|
||||
|
||||
- Comment installer une alternative à facebook/twitter/Google+
|
||||
- Comment installer une alternative à twitpic
|
||||
- Comment installer une alternative à Google Calendar
|
||||
- Comment installer une alternative à flickr/Picasa
|
||||
- Comment stocker des fichiers sur votre serveur comme si celui-ci était sur votre réseau local
|
||||
- Comment partager des fichiers avec le monde entier
|
||||
- Comment sauvegarder et restaurer votre serveur
|
||||
@@ -0,0 +1,333 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/518
|
||||
date: '2012-02-07 21:17:00'
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/kronolith-une-alternative-a-google-calendar/
|
||||
tags:
|
||||
- Google Calendar
|
||||
- Horde
|
||||
- Kronolith
|
||||
title: 'Kronolith : une alternative à Google Calendar'
|
||||
weather:
|
||||
humidity: 64
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1029.2
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -9.8
|
||||
wind_direction: 57
|
||||
wind_speed: 16.4
|
||||
weight: 6
|
||||
---
|
||||
|
||||
Maintenant que nous avons [installé les bases d'un auto-hébergement](https://web.archive.org/web/20121007072220/http://ingnu.fr/category/creer-son-propre-cloud/), il est temps de mettre en place les [alternatives](https://web.archive.org/web/20121007072220/http://ingnu.fr/2011/12/29/quelles-sont-les-alternatives-a-google/) à tous ces services qui nous traquent, analysent, et revendent nos informations.
|
||||
|
||||
En premier lieu, on va s'occuper de Google Calendar.
|
||||
Notre objectif va être de s'en affranchir, en installant une solution relativement méconnue, injustement boudée au profit d'autres applications plus médiatisées.
|
||||
|
||||
Certes, l'installation et la configuration du framework [Horde](https://web.archive.org/web/20121007072220/http://www.horde.org/) et de ses "applications-filles" n'est pas réellement aussi simple qu'un assistant d'installation dans une page web, mais une fois installé, vous vous rendrez compte de sa toute puissance.
|
||||
|
||||
Précisons que Horde est un framework, sur lequel reposent bon nombre d'applications.
|
||||
La plus connue est probablement IMP, dont free fait usage, entre autres, pour permettre aux bénéficiaires d'une adresse @free.fr d'accéder à leurs mails.
|
||||
|
||||
Ici, nous reposerons sur ce framework pour installer Kronolith, redoutable de puissance et d'interopérabilité.
|
||||
|
||||
## Hôte virtuel
|
||||
|
||||
Créons notre hôte virtuel :
|
||||
|
||||
```bash
|
||||
nano /etc/apache2/sites-available/agenda.exemple.fr
|
||||
```
|
||||
|
||||
```text
|
||||
<VirtualHost *:80>
|
||||
ServerName agenda.exemple.fr
|
||||
Redirect / https://agenda.exemple.fr/
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerName agenda.exemple.fr
|
||||
|
||||
DocumentRoot /var/www/exemple.fr/agenda/www
|
||||
|
||||
SSLEngine On
|
||||
SSLCertificateFile /scripts/certificate_authority/apache/agenda.exemple.fr.crt
|
||||
SSLCertificateKeyFile /scripts/certificate_authority/apache/agenda.exemple.fr.key
|
||||
|
||||
CustomLog /var/www/exemple.fr/agenda/log/access.log
|
||||
ErrorLog /var/www/exemple.fr/agenda/log/error.log
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Nous avons créé un hôte virtuel non sécurisé redirigeant vers un hôte virtuel sécurisé, nous avons déjà vu le principe.
|
||||
Créons maintenant les certificats :
|
||||
|
||||
```bash
|
||||
/scripts/certificate_authority/make_request apache agenda.exemple.fr
|
||||
/scripts/certificate_authority/sign_request apache agenda.exemple.fr
|
||||
chown www-data:www-data /scripts/certificate_authority/apache/*
|
||||
```
|
||||
|
||||
Warning : _Common Name_
|
||||
|
||||
On active le site, et on redémarre apache :
|
||||
|
||||
```bash
|
||||
a2ensite agenda.exemple.fr
|
||||
/etc/init.d/apache2 restart
|
||||
```
|
||||
|
||||
## Horde
|
||||
|
||||
Créons l'arborescence de notre nouveau site :
|
||||
|
||||
```bash
|
||||
mkdir -p /var/www/exemple.fr/agenda/{www,log}
|
||||
```
|
||||
|
||||
Horde est intimement lié aux bibliothèques [PEAR](https://web.archive.org/web/20121007072220/http://pear.php.net/), et c'est une excellente chose : ces bibliothèques de code PHP sont très pointues, largement utilisées, et sont soutenues et maintenues par une large communauté d'utilisateurs.
|
||||
|
||||
Quand je dis que Horde est intimement lié à PEAR, c'est aussi parce que Horde dispose de son propre canal sur PEAR.
|
||||
Cela va nous permettre deux types d'installation :
|
||||
|
||||
- Une installation globale
|
||||
- Une installation locale
|
||||
|
||||
Dans le cas d'une installation globale, l'ensemble des bibliothèques et dépendances de Horde sera installé au niveau du système.
|
||||
Dans une installation locale, Horde fera appel aux bibliothèques installées spécifiquement pour chaque installation.
|
||||
|
||||
Dans notre cas, nous procéderons à une installation globale, parce que pour l'heure, nous n'aurons pas d'autre usage de Horde que Kronolith.
|
||||
Nous verrons plus tard comment basculer sur une installation locale.
|
||||
|
||||
```bash
|
||||
cd /var/www/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
On met à jour PEAR :
|
||||
|
||||
```bash
|
||||
pear upgrade PEAR
|
||||
```
|
||||
|
||||
On ajoute le dépôt (canal) de Horde :
|
||||
|
||||
```bash
|
||||
pear channel-discover pear.horde.org
|
||||
```
|
||||
|
||||
Et on définit le répertoire d'installation de Horde :
|
||||
|
||||
```bash
|
||||
pear install horde/horde_role
|
||||
pear run-scripts horde/horde_role
|
||||
```
|
||||
|
||||
Quand le script d'installation vous demandera où installer Horde, répondez :
|
||||
|
||||
```text
|
||||
./
|
||||
```
|
||||
|
||||
Puis on procède finalement au téléchargement des paquets et leur décompression à l'endroit spécifié :
|
||||
|
||||
```bash
|
||||
pear install -a -B horde/horde
|
||||
```
|
||||
|
||||
Une fois terminé, on créé le fichier de configuration initial :
|
||||
|
||||
```bash
|
||||
cp config/conf.php.dist config/conf.php
|
||||
```
|
||||
|
||||
On attribue les bons droits à l'installation :
|
||||
|
||||
```bash
|
||||
chown -R www-data:www-data ./
|
||||
```
|
||||
|
||||
Rendez-vous maintenant dans votre navigateur pour terminer l'installation.
|
||||
Tout d'abord, créons un nouvel utilisateur dans MySQL, [comme indiqué précédemment](https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/).
|
||||
Nommez-le _Agenda_, par exemple, et générez un mot de passe.
|
||||
Mettez toujours "_localhost_" quand phpMyAdmin vous demande l'hôte lors de la création d'un utilisateur, parce que nous n'allons pas ouvrir notre serveur MySQL sur l'extérieur.
|
||||
Enfin, pensez à cocher la case correspondante à la création d'une base de données portant le nom de cet utilisateur.
|
||||
|
||||
Munissez-vous du nom d'utilisateur (_Agenda_) et du mot de passe que vous avez choisi, puis allez sur la page principale de Horde (`http://agenda.exemple.fr`).
|
||||
|
||||
Si vous n'êtes pas redirigé automatiquement, allez dans le menu de gauche, _Administration_ > _Configuration_, puis cliquez sur _Horde_.
|
||||
|
||||
Avant de configurer quoique ce soit d'autre, allez sur l'onglet "_Database_", et remplissez les champs comme suit :
|
||||
|
||||
Et enregistrez.
|
||||
Parcourez ensuite tous les onglets de configuration, avec pour objectif bien sûr de personnaliser comme vous le souhaitez votre installation, mais surtout choisir comme pilote "_SQL Database_" dans tous les onglets où c'est possible (c'est à dire _Preference System_, _Alarm System_, _DataTree System_, _Groups_, _Permissions_, _Lock System_, _Token System_ et _Virtual File Storage_ - les autres onglets peuvent également demander un pilote de stockage mais on ne le configurera pas).
|
||||
|
||||
Warning : _Authentication_
|
||||
|
||||
Une fois vos préférences choisies, cliquez sur le bouton "_Générer la configuration de Horde_".
|
||||
Vous devriez ensuite revenir sur la page principale de l'administration.
|
||||
|
||||
Horde va afficher des messages d'erreurs relatifs à la base de données, en vous fournissant plusieurs boutons pour remédier au problème.
|
||||
Il vous suffit de cliquez dessus pour successivement créer la structure de la base de données, puis la peupler avec les données de base.
|
||||
Vous n'avez rien d'autre à faire que cliquer sur ces deux boutons pour que tout se mette en place tout seul !
|
||||
|
||||
On peut maintenant s'occuper de la question de l'authentification.
|
||||
|
||||
Warning : maintenant
|
||||
|
||||
```text
|
||||
cp /var/www/exemple.fr/agenda/www/config/conf.php /var/www/exemple.fr/agenda/ww/config/conf.php-orig
|
||||
```
|
||||
|
||||
Retournez dans _Administration_ > _Configuration_ > _Horde_, onglet "_Authentication_".
|
||||
Choisissez "_SQL Authentication_" dans le menu _$conf[auth][driver]_.
|
||||
Laissez "_Horde defaults_" dans le menu qui apparaitra alors.
|
||||
|
||||
Warning : _$conf[auth][admins]_
|
||||
|
||||
Vous allez créer votre propre compte utilisateur pour pouvoir vous servir de Kronolith.
|
||||
Actuellement, Horde vous a "auto-identifié" en tant qu'_Administrator_, donc sans mot de passe.
|
||||
En passant par le pilote SQL pour l'authentification, on est dans l'obligation de créer un nouveau compte, faute de quoi vous ne pourrez jamais vous connecter à Horde...
|
||||
|
||||
Donc indiquez le nom d'utilisateur que vous allez créer dans la zone de texte _$conf[auth][admin]_ en haut de la page, et cliquez sur le bouton pour générer la configuration de Horde.
|
||||
|
||||
Allez ensuite immédiatement dans _Administration_ > _Utilisateurs_, et créez ce fameux nouveau compte.
|
||||
Une fois fait, vous pouvez vous déconnecter, puis vous reconnecter avec ce nouveau compte, sans perdre votre statut d'administrateur.
|
||||
|
||||
Important : _Administrator_
|
||||
|
||||
```text
|
||||
cp /var/www/exemple.fr/agenda/www/config/conf.php-orig /var/www/exemple.fr/agenda/www/conf.php
|
||||
```
|
||||
|
||||
Une fois que vous êtes connecté avec votre nouveau compte utilisateur, on peut passer à l'installation de Kronolith.
|
||||
|
||||
## Kronolith
|
||||
|
||||
Si vous n'y êtes pas, retournez dans la racine du site :
|
||||
|
||||
```bash
|
||||
cd /var/ww/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
L'installation de Kronolith est on ne peut plus simple :
|
||||
|
||||
```bash
|
||||
pear install -a -B horde/kronolith
|
||||
chown -R www-data:www-data ./
|
||||
```
|
||||
|
||||
Il vous suffit alors d'aller sur la page d'administration de Horde : _Administration_ > _Configuration_, pour mettre à jour les tables correspondantes à Kronolith.
|
||||
|
||||
Vérifiez ensuite la configuration de Kronolith (_Administration_ > _Configuration_ > _Kronolith_), puis enregistrez-la.
|
||||
Kronolith est prêt.
|
||||
|
||||
## Configuration et personnalisation
|
||||
|
||||
En l'état, tout fonctionne, mais rien n'est personnalisé.
|
||||
Il me sera impossible de détailler chaque option de configuration tant il y en a.
|
||||
Mais la grande force de Horde, c'est que ça marche "out-of-the-box".
|
||||
Après, farfouiller dans les options, c'est plus pour peaufiner, et se créer un fichier de configuration aux oignons.
|
||||
Cependant, je vous donne tout de même quelques pistes.
|
||||
|
||||
Pour commencer, nous avons installé Horde et Kronolith pour servir de calendrier partagé.
|
||||
Horde vous laisse le choix de l'application à ouvrir au démarrage.
|
||||
Allez dans _Préférences_ > _Préférences globales_ > _Afficher les préférences_.
|
||||
Là, le premier menu vous permet de choisir l'application à présenter après la connexion.
|
||||
Choisissez "_Agenda_".
|
||||
|
||||
Ensuite, sachez qu'il est possible d'afficher des agendas distants, dans de nombreux formats.
|
||||
Vous le verrez en allant dans Organisation > Agenda.
|
||||
Vous pouvez créer autant d'agenda que vous voulez, et surtout, vous pouvez les partager.
|
||||
|
||||
Si vous envisagez de créer plusieurs utilisateurs, chacun aura la possibilité de choisir avec qui il veut partager l'un ou l'autre de ses agendas.
|
||||
|
||||
Sachez aussi que vous pouvez importer un agenda iCal existant, autrement dit, rien ne vous empêche de récupérer vos calendriers Google actuels pour les importer dans Kronolith.
|
||||
|
||||
Pour aller plus loin avec les évènements, Horde est capable de gérer bien des webservices.
|
||||
Leur configuration se trouve (vous l'aurez sans doute remarqué) sur la page principale de la configuration de Horde.
|
||||
|
||||
## Plusieurs instances de Horde
|
||||
|
||||
Nous avons suivi la procédure pour installer une unique instance globale de Horde : il vous sera impossible de créer un nouvel hôte virtuel, et y installer Horde de la même façon.
|
||||
|
||||
Si vous avez suivi cette procédure et que finalement vous décidez que vous avez besoin d'avoir plusieurs instances de Horde, vous devrez supprimer l'instance actuelle.
|
||||
|
||||
Pour supprimer Horde, utilisez la commande suivante :
|
||||
|
||||
```bash
|
||||
pear uninstall `pear list -c horde | tail -n +4 | awk '{ print "horde/"$1 }'`
|
||||
```
|
||||
|
||||
Placez-vous à la racine du domaine agenda :
|
||||
|
||||
```bash
|
||||
cd /var/www/exemple.fr/agenda
|
||||
```
|
||||
|
||||
Exécutez ensuite les commandes suivantes pour installer les bibliothèques :
|
||||
|
||||
```bash
|
||||
pear config-create /var/www/exemple.fr/agenda/ /var/www/exemple.fr/agenda/pear.conf
|
||||
pear -c /var/www/exemple.fr/agenda/pear.conf install pear
|
||||
```
|
||||
|
||||
Installez ensuite Horde, depuis la nouvelle instance de PEAR :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf channel-discover pear.horde.org
|
||||
```
|
||||
|
||||
Puis :
|
||||
|
||||
```bash
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf install horde/horde_role
|
||||
/var/www/exemple.fr/agenda/pear/pear -c /var/www/exemple.fr/agenda/pear.conf run-scripts horde/horde_role
|
||||
```
|
||||
|
||||
Cette fois, quand le script vous demandera où installer Horde, spécifiez le chemin de fichier complet :
|
||||
|
||||
```text
|
||||
/var/www/exemple.fr/agenda/www
|
||||
```
|
||||
|
||||
Il reste encore à informer apache de l'emplacement des bibliothèques.
|
||||
Créez ou modifiez le fichier.htaccess du site :
|
||||
|
||||
```bash
|
||||
nano /var/www/exemple.fr/agenda/www/.htaccess
|
||||
```
|
||||
|
||||
```text
|
||||
php_value include_path /var/www/exemple.fr/pear/php
|
||||
SetEnv PHP_PEAR_SYSCONF_DIR /var/www/exemple.fr/agenda
|
||||
```
|
||||
|
||||
## Une seule instance de Horde, plusieurs applications
|
||||
|
||||
Vous pouvez bien entendu utiliser IMP à la place de [RoundCube](https://web.archive.org/web/20121007072220/http://ingnu.fr/2012/02/07/installation-dun-serveur-http-https/) pour consulter vos messages, et accéder à Kronolith depuis la même instance de Horde, tout en gérant un wiki intégré, etc.
|
||||
Le nombre et la qualité des applications écrites avec Horde est sans pareil, et sont toutes intégrées les unes aux autres.
|
||||
Vous pourriez donc avoir envie d'utiliser Horde et pas seulement avec Kronolith.
|
||||
|
||||
Dans ce cas, la seule chose à changer dans notre procédure sera de trouver un nom de domaine plus adéquat que "_agenda.exemple.fr_" !
|
||||
Après, la méthode d'installation et les commandes sont pratiquement les mêmes, quelle que soit l'application à installer.
|
||||
|
||||
Juste pour vous donner envie, sachez que parmi les applications intégrées à Horde, vous trouverez :
|
||||
|
||||
- IMP, le client de messagerie
|
||||
- Kronolith, l'agenda partagé
|
||||
- Nag, le gestionnaire de tâches
|
||||
- Mnemo, le gestionnaire de notes
|
||||
- Turba, le gestionnaire de contacts (lui aussi très impressionnant par son interopérabilité)
|
||||
- Ingo, le gestionnaire de filtres (capable de gérer du procmail, du sieve, du maildrop, etc.)
|
||||
- Gollem, le gestionnaire de fichiers (capable de se connecter à un partage samba ou nfs distant, en ssh, en FTP, etc.)
|
||||
- Ansel, la galerie photos
|
||||
- etc. etc.
|
||||
|
||||
Si vous avez suivi la première partie de ce tutoriel, pour installer Horde avec Kronolith dans une instance globale, je suis persuadé que vous allez mourir d'envie d'essayer les autres applications.
|
||||
Et vous aurez bien raison : Horde est tout simplement la meilleure application web au monde (remarque tout à fait personnelle...)
|
||||
@@ -0,0 +1,3 @@
|
||||
description: "Couverture originale créée localement pour accompagner la republication de l'article Si j'étais président."
|
||||
attribution: "Codex"
|
||||
prompt: "Illustration abstraite éditoriale pour un billet d'opinion informatique, avec panneaux, lignes structurelles et ambiance rétro-web 2012, sans texte, sans logo."
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
@@ -0,0 +1,52 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/517
|
||||
cover: images/cover.png
|
||||
date: '2012-02-07 03:34:00'
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120221062015/http://ingnu.fr/2012/02/07/si-jetais-president/
|
||||
title: Si j'étais président
|
||||
weather:
|
||||
humidity: 55
|
||||
illuminance: 0.0
|
||||
precipitations: false
|
||||
pressure: 1028.7
|
||||
source:
|
||||
- open-meteo
|
||||
temperature: -12.4
|
||||
wind_direction: 45
|
||||
wind_speed: 10.2
|
||||
---
|
||||
|
||||
Fort de ma nouvelle autorité, je commencerai par montrer au peuple français mon réalisme. Il est impossible de s'imaginer les problèmes du peuple sans soi-même faire partie du peuple. Or, le peuple ne se vautre pas dans la luxure. Le salaire français moyen est légèrement supérieur à 1000€. Comment peut-on comprendre son peuple quand soi-même on gagne près de 20 fois plus? Comment peut-on savoir si toutes les taxes qu'on impose à un pays peuvent être déboursées par ses citoyens?
|
||||
|
||||
Ma première action consiste à réduire significativement mon salaire de "dirigeant "du peuple français. Un salaire de 20 000€ mensuels n'est qu'une apparence, un artifice. Cela ne sert qu'à montrer le pouvoir qu'on a sur son peuple. Je déciderai donc de porter mon salaire à 1000€ nets mensuels. Après tout, un "Président "de la république dispose manifestement de bon nombre d'autres avantages. Inutile de gagner plus.
|
||||
|
||||
Ma seconde action va être de changer la terminologie du chef du gouvernement. "Président "me semble être doté d'une connotation négative, inspirant la supériorité, l'assise d'un pouvoir sur le peuple. En tant que nouveau chef d'État, je me considère comme le guide du peuple français. Sans majuscule. Parce que si je suis à la tête des français aujourd'hui, c'est pour les guider vers des jours meilleurs.
|
||||
|
||||
Ma troisième action va consister à supprimer tous les élus, tous les représentants du peuple. Je supprime les maires, les députés, les sénateurs. Je veux redonner le pouvoir aux français. Je veux que les français participent à nouveau activement à la vie politique du pays. Je crois que si les bureaux de votes se vident, c'est d'une part à cause du nombre d'intermédiaires trop élevé, et d'autre part parce qu'ils ont le sentiment de ne pas être écoutés, que le gouvernement fait de toute manière ce qu'il a décidé, peu importe ce que dit le peuple.
|
||||
|
||||
Je veux instaurer une vraie démocratie. LA vraie démocratie. Je veux rendre impossible l'adoption d'une loi, d'un traité, ou d'un décret, sans le consentement du peuple français. Pour y parvenir, je mettrais en place une plateforme permettant à tout un chacun de consulter librement toute proposition qui sera faite, et d'y donner son avis. La proposition ne sera adoptée qu'en cas de majorité absolue. C'est ainsi, et seulement de cette manière, qu'un gouvernement peut être qualifié de démocratique. Pas en permettant à des intermédiaires de répondre du peuple, qui les ont choisi en fonction de campagnes coûteuses, et menées dans l'unique but de se vendre. Je suis persuadé que redonner son pouvoir à la voix des français sera une motivation suffisante pour que le vote redevienne un acte de pure volonté.
|
||||
|
||||
La réduction du salaire du chef de l'État, la suppression de ces intermédiaires, la récupération puis la revente des biens appartenant à l'État prêtés aux intermédiaires et jugés somptuaires, permettra de réaliser des économies substantielles. Et pour une fois, pas en saignant les français.
|
||||
|
||||
Ma quatrième action sera l'arrêt pur et simple de la coopération avec toute entreprise ou organisme dont les méthodes ou les convictions vont à l'encontre de la liberté de l'individu, qu'il soit français ou résident de pays étranger. Il est intolérable que notre ancien gouvernement ait pu tisser des liens avec des entreprises fournissant des solutions informatiques à des chefs d'États leur permettant d'espionner leur peuple.
|
||||
|
||||
Par extension, je supprime tout organisme étatique voué à la seule sécurité du gouvernement au mépris de son peuple. Je récupère une France scindée en deux: le peuple se sent aujourd'hui oppressé, menacé par ses dirigeants, alors que le rôle de tout gouvernement est de protéger son peuple, et il en a toujours été ainsi. Nous vivons des jours sombres, où les peuples n'ont plus aucune estime de leur chef d'État; pire encore, ils le craignent. Tous ne s'avouent pas dictateur, et pourtant, tous sont manipulés par la possession et la richesse.
|
||||
|
||||
Je supprime donc la Hadopi, et tous ses employés. Je supprime tout lien avec la société Amesys, et avec toutes les autres entreprises avec lesquelles notre ancien gouvernement a pu être en relation, et dont les activités sont en désaccord avec les droits fondamentaux de l'Homme.
|
||||
|
||||
Je supprime également toutes les taxes injustifiées, illégales, immorales, et inutiles. Après tout, les économies réalisées sur la suppression des intermédiaires et la forte réduction de mon salaire et de mes avantages ne peuvent que conduire à une réduction du poids fiscal sur le peuple français. Comment notre ancien gouvernement a-t-il pu se rincer sur le dos de son peuple? Comment peut-on faire preuve d'aussi peu de respect envers le peuple qui l'a choisi?
|
||||
|
||||
Parmi les taxes dont je parle, j'évoque notamment les taxes sur les carburants, sur les produits de grande consommation, mais aussi la taxe sur la copie privée, absolument inutile et injustifiée. De quel droit l'État taxe-t-il un produit sur lequel il n'a aucun pouvoir décisionnel? Est-ce que le gouvernement participe à la fabrication du lait? À celle de l'essence? Pourquoi l'État devrait encore toucher presque 50% du prix de vente du pétrole, alors qu'il ne l'extrait pas, ni ne le raffine, ni ne le transporte? De quel droit l'État s'arroge-t-il presque 50% du salaire de ses citoyens, répartis entre impôts, taxes, cotisations obligatoires, etc.? Jusqu'aujourd'hui, qu'a exactement fait l'État pour mériter une telle somme?
|
||||
|
||||
Je compte mettre en place une forme de méritocratie. Le rôle du gouvernement est de protéger son peuple. Pas seulement en cas de guerre, mais aussi quand d'autres gouvernements s'attaquent à son intégrité. Et par intégrité, j'entends liberté individuelle. La liberté de vivre, de s'exprimer, de s'indigner, d'être heureux, insouciant, concerné. La liberté d'écrire, de composer, de développer. La liberté d'accéder à toute forme de culture ou de science.
|
||||
|
||||
Car c'est en partageant culture et sciences que les civilisations, que LA civilisation humaine a pu se développer, grandir, survivre, jusqu'à conquérir les océans et les étoiles. Notre ancien gouvernement a tout tenté pour empêcher le partage libre de la culture et de la science. Notre ancien gouvernement estimait que certaines civilisations valaient mieux que d'autres. Je crois que c'est précisément ce manque de discernement qui a causé la chute des anciennes civilisations, et des plus grandes. Je crois que c'est la soif de pouvoir et de richesses qui a causé leur déclin. Et c'est précisément ce dans quoi tombent les dirigeants de notre époque.
|
||||
|
||||
Après tant d'oppression, tant de mal causé aux peuples, tant de viols de leur liberté et de leur intégrité, il ne peut y avoir qu'un avenir radieux, parce que désormais, il ne peut plus y avoir que des dirigeants bons avec leurs peuples. Et c'est ce à quoi je vais m'employer.
|
||||
|
||||
Pour y parvenir, je l'ai dis, le peuple français aura la parole sur toute décision politique; les intermédiaires seront supprimés, tout comme les lois, les organismes et les entreprises allant à l'encontre des libertés; la culture et la science seront libres d'accès à tous: tout le monde pourra contribuer au savoir et à la connaissance. Et je me ferai un devoir d'inciter les autres gouvernements à suivre la même voie, et d'insister jusqu'à leur faire entendre raison. Et si ces gouvernements restent intangibles, nous accueillerons ceux qui veulent vivre libres.
|
||||
|
||||
Peut-être suis-je utopiste. Peut-être que vous vous dites que jamais je n'y arriverai. Je pense que la liberté des Hommes vaut bien qu'on essaye. Nous avons longtemps critiqué les chefs d'État, sans vraiment proposer d'alternative, ou, quand on le faisait, elles étaient rejetées. Voulez-vous réellement sacrifier un espoir de retrouver notre liberté, simplement parce que la tâche parait trop ardue? En ce qui me concerne, et en tant que guide, j'ai la force de tenter ma chance, parce que je crois encore en l'Homme, et je crois qu'il est encore capable de bonnes choses.
|
||||
Reference in New Issue
Block a user