Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ports:web:diaspora [2020/05/03 17:07] – [La jail] david | ports:web:diaspora [2023/07/16 08:09] (Version actuelle) – [Serveur] david | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
[[https:// | [[https:// | ||
- | Cet article va vous décrire l' | + | Cet article va vous décrire l' |
</ | </ | ||
Ligne 18: | Ligne 18: | ||
<file javascript / | <file javascript / | ||
- | matrix | + | diaspora |
ip4.addr = " | ip4.addr = " | ||
mount.devfs; | mount.devfs; | ||
Ligne 30: | Ligne 30: | ||
Adaptez la configuration de la //jail// '' | Adaptez la configuration de la //jail// '' | ||
- | <file ini matrix/ | + | <file ini diaspora/ |
hostname=" | hostname=" | ||
</ | </ | ||
Ligne 38: | Ligne 38: | ||
</ | </ | ||
- | ===== La base de donnée | + | On assure le démarrage au reboot: |
+ | <code bash> | ||
+ | sysrc jail_enable=" | ||
+ | sysrc jail_list+=" | ||
+ | </ | ||
+ | |||
+ | ===== La base de données | ||
Préparez votre base de donnée pour Diaspora. | Préparez votre base de donnée pour Diaspora. | ||
Ligne 62: | Ligne 68: | ||
Obtenez un certificat **SSL**. | Obtenez un certificat **SSL**. | ||
<code bash> | <code bash> | ||
- | root@popeye:/ | + | certbot certonly --nginx -d diaspora.lapinbilly.eu |
</ | </ | ||
- | Rediriger les requêtes vers votre //jail//, pour cela, on va définir un fichier dédié pour //nginx//. | + | Rediriger les requêtes vers votre //jail//, pour cela, on va définir un fichier dédié pour //nginx//: |
- | < | + | < |
server { | server { | ||
root / | root / | ||
Ligne 106: | Ligne 112: | ||
</ | </ | ||
- | Et l' | + | Et l' |
- | < | + | < |
| | ||
listen 443 ssl http2 ; | listen 443 ssl http2 ; | ||
Ligne 116: | Ligne 122: | ||
} | } | ||
</ | </ | ||
- | |||
===== Installer ===== | ===== Installer ===== | ||
- | |||
Installez les ports suivants dans la //jail// '' | Installez les ports suivants dans la //jail// '' | ||
- | |||
<code bash> | <code bash> | ||
- | root@popeye:# | + | root@popeye:# |
root@popeye:# | root@popeye:# | ||
</ | </ | ||
- | Construisez le serveur: | + | Attention à préciser la version de Image Magick à utiliser dans votre '' |
+ | < | ||
+ | DEFAULT_VERSIONS+= imagemagick=7-nox11 | ||
+ | </ | ||
+ | |||
+ | Ajoutez un utilisateur '' | ||
<code bash> | <code bash> | ||
- | root@popeye:# jail -c diaspora | + | root@diaspora:# pw useradd diaspora |
- | root@popeye:# service -j diaspora | + | root@diaspora:# echo " |
- | root@popeye:# jexec disapora | + | root@diaspora:# echo " |
+ | root@diaspora:# su - diaspora | ||
</ | </ | ||
+ | |||
+ | Les deux dernières vont vous éviter bien des ennuis, elles précisent deux paramètres de base utilisé par tous les scripts: | ||
+ | * l' | ||
+ | * la base de donnée utilisée. | ||
+ | |||
+ | <callout type=" | ||
+ | Attention, ceux sont des instructions pour un //shell// '' | ||
+ | </ | ||
+ | |||
+ | La plupart des scripts et configuration que l'on va utiliser ne sont pas compatible avec //csh//, c'est pourquoi l' | ||
+ | |||
+ | |||
+ | ==== RVM ==== | ||
+ | |||
+ | Diaspora* est resté sur des versions EOL de //ruby//. Du coup, il faut mieux installer la bonne version du langage à l'aide du '' | ||
+ | Cela installe une version du langage dans votre home. | ||
+ | Le hic, c'est qu'il va falloir le compiler. | ||
<code bash> | <code bash> | ||
- | root@diaspora:# gem install certified | + | root@popeye:# pkg -j diaspora install |
- | root@diaspora:# | + | |
- | root@diaspora:# gem install | + | |
- | root@diaspora:# | + | |
</ | </ | ||
+ | De plus, l' | ||
- | Ajoutez un utilisateur | + | Sous votre session |
<code bash> | <code bash> | ||
- | root@diaspora:# pw useradd diaspora | + | curl -sSL https:// |
- | root@diaspora:# | + | bash installer.sh head |
- | root@diaspora:# | + | echo '[[ -s "$HOME/.rvm/ |
- | root@diaspora:# | + | . ~/.rvm/ |
+ | rvm autolibs read-fail | ||
+ | rvm install 3.1 | ||
</ | </ | ||
+ | Une fois //rvm// installé, vous pouvez le mettre à jour et installer d' | ||
+ | <code bash> | ||
+ | rvm get head | ||
+ | rvm list known | ||
+ | rvm install ruby-3.1 | ||
+ | </ | ||
+ | |||
+ | Et définir votre version de travail | ||
+ | < | ||
+ | rvm use 3.1 --default | ||
+ | </ | ||
+ | |||
+ | ==== Serveur ==== | ||
+ | |||
+ | === IP v6 == | ||
+ | |||
+ | A partir de point il est préférable de désactiver l'ipv6 de la //jail//, suite à un bug dans la résolution de nom des outils de type '' | ||
+ | Commentez les adresses ipv6 de '' | ||
+ | De même, pour éviter toute ambiguïté, | ||
+ | < | ||
+ | inet6_enable=" | ||
+ | ip6addrctl_enable=" | ||
+ | </ | ||
+ | |||
+ | Vous pourrez le réactiver plus tard. | ||
+ | |||
+ | === Installer === | ||
+ | Construisez le serveur: | ||
+ | <code bash> | ||
+ | root@popeye:# | ||
+ | root@popeye:# | ||
+ | root@popeye:# | ||
+ | </ | ||
+ | |||
+ | Et allons-y pour l' | ||
<code bash> | <code bash> | ||
diaspora@diaspora: | diaspora@diaspora: | ||
diaspora@diaspora: | diaspora@diaspora: | ||
- | diaspora@diaspora: | + | diaspora@diaspora: |
diaspora@diaspora: | diaspora@diaspora: | ||
+ | diaspora@diaspora: | ||
diaspora@diaspora: | diaspora@diaspora: | ||
- | diaspora@diaspora: | + | diaspora@diaspora: |
- | diaspora@diaspora: | + | |
diaspora@diaspora: | diaspora@diaspora: | ||
diaspora@diaspora: | diaspora@diaspora: | ||
+ | </ | ||
+ | La dernière commande utilise le gestionnaire de paquets //Yarn// pour // | ||
+ | < | ||
+ | sysctl kern.elf64.allow_wx=1 | ||
</ | </ | ||
- | Dirigez la connexion vers votre base de données | + | ==== Configurer ==== |
+ | |||
+ | Adaptez le serveur à la //jail// et au serveur de base de données, | ||
+ | c'est à dire permettre au serveur **diaspora** d' | ||
+ | |||
+ | Deux fichiers de configuration sont importants à copier depuis les exemples du répertoire '' | ||
+ | |||
+ | - '' | ||
+ | - '' | ||
+ | |||
+ | Dirigez la connexion vers votre base de données: | ||
<file diff config/ | <file diff config/ | ||
- | --- config/ | + | --- config/ |
- | +++ config/ | + | +++ config/ |
@@ -1,9 +1,9 @@ | @@ -1,9 +1,9 @@ | ||
| | ||
| | ||
- | - host: "192.168.0.10" | + | - host: "localhost" |
- | + host: "localhost" | + | + host: "192.168.0.10" |
port: 5432 | port: 5432 | ||
- | - username: "diaspora" | + | - username: "postgres" |
- | - password: "pwd" | + | - password: "" |
- | + username: "postgres" | + | + username: "diaspora" |
- | + password: "" | + | + password: "pwd" |
| | ||
| | ||
+ | |||
</ | </ | ||
- | Donnez | + | Dans le fichier '' |
- | <file diff config/ | + | - Adresser les certificats |
- | --- config/ | + | - Réglez le serveur d' |
- | +++ config/ | + | - Donnez un nom de serveur . |
- | @@ -36,7 +36,7 @@ | + | |
- | | + | |
- | | + | <file diff config/ |
- | | + | --- config/ |
- | - #url: " | + | +++ config/ |
- | + url: " | + | @@ -30,7 +30,7 @@ |
+ | ## However changing http to https is okay and has no consequences. | ||
+ | ## If you do change the URL, you will have to start again as the URL | ||
+ | ## will be hardcoded into the database. | ||
+ | -#url = " | ||
+ | +url = " | ||
+ | |||
+ | ## Set the bundle of certificate authorities (CA) certificates. | ||
+ | ## This is specific to your operating system. | ||
+ | @@ -39,6 +39,7 @@ | ||
+ | # | ||
+ | ## For CentOS, Fedora: | ||
+ | # | ||
+ | +certificate_authorities = '/ | ||
+ | |||
+ | ## URL for a remote Redis (default=" | ||
+ | ## Don't forget to restrict IP access if you uncomment these! | ||
+ | @@ -221,11 +222,11 @@ | ||
+ | | ||
+ | |||
+ | ## Local user total and 6 month active counts. | ||
+ | -# | ||
+ | +user_counts = true | ||
+ | |||
+ | ## Local post total count. | ||
+ | -# | ||
+ | +comment_counts = true | ||
+ | |||
+ | ## Use Camo to proxy embedded remote images. | ||
+ | ## Do not enable this setting unless you have a working Camo setup. Using | ||
+ | @@ -458,9 +460,9 @@ | ||
+ | ## email will be sent to the user and after an additional `warn_days`, | ||
+ | ## account will be automatically closed. | ||
+ | ## This maintenance is not enabled by default. | ||
+ | -# | ||
+ | -# | ||
+ | -# | ||
+ | +remove_old_users.enable = true | ||
+ | +remove_old_users.after_days = 180 | ||
+ | +remove_old_users.warn_days = 0 | ||
+ | # | ||
+ | |||
+ | |||
+ | @@ -517,17 +519,21 @@ | ||
+ | | ||
+ | ## First you need to enable it. | ||
+ | -#enable = true | ||
+ | +enable = true | ||
+ | |||
+ | ## Sender address used in mail sent by Diaspora. | ||
+ | # | ||
+ | +sender_address = ' | ||
+ | |||
+ | ## This selects which mailer should be used. Use " | ||
+ | ## connection or " | ||
+ | # | ||
+ | +method = ' | ||
+ | |||
+ | ## Ignored if method isn't " | ||
+ | | ||
+ | +host = ' | ||
+ | +port = 465 | ||
- | ## Set the bundle of certificate authorities (CA) certificates. | + | ## Host and port of the smtp server handling outgoing mail. |
- | | + | ## This should match the common name of the certificate sent by |
- | @@ -44,7 +44,7 @@ | + | @@ -539,6 +545,7 @@ |
- | | + | ## |
- | # | + | ## |
- | | + | #authentication = " |
- | - | + | +authentication = 'login' |
- | + | + | |
- | ## URL for a remote Redis (default=localhost). | + | ## Credentials to log in to the SMTP server. |
- | | + | ## |
- | @@ -175,7 +175,7 @@ | + | @@ -547,7 +554,7 @@ |
- | ## Where the appserver should listen to (default=unix: | + | |
- | # | + | |
- | # | + | |
- | - #listen: ' | + | |
- | + #listen: ' | + | |
- | ## Set the path for the PID file of the unicorn master process | + | ## Automatically enable TLS (default=true). |
- | | + | ## Leave this commented out if authentication is set to " |
- | @@ -616,7 +616,7 @@ | + | -# |
+ | +starttls_auto = false | ||
- | ## This selects which mailer should be used. Use ' | + | ## The domain |
- | ## connection or ' | + | #domain = "smtp.example.org" |
- | - | + | @@ -561, |
- | + | + | |
- | ## Ignore if method isn't ' | + | ## The path to the sendmail binary (default="/ |
- | smtp: ## Section | + | -#location = "/ |
- | @@ -653, | + | +location = "/ |
- | sendmail: ## Section | + | |
- | ## The path to the sendmail | + | ## Use exim and sendmail (default=false) |
- | - #location: '/ | + | #exim_fix = false |
- | + | + | @@ -573,9 +580,10 @@ |
+ | ## This doesn't make the user an admin but is used when a generic | ||
+ | ## admin contact is needed, much like the postmaster role in mail | ||
+ | ## systems. Set only the username, NOT the full ID. | ||
+ | -#account = " | ||
+ | +account = " | ||
- | ## Use exim and sendmail (default=false) | + | ## E-mail address via which the administrator can be contacted. |
- | | + | +podmin_email |
+ | #podmin_email = " | ||
+ | |||
+ | ## Advanced - ignore unless you know better | ||
</ | </ | ||
- | ==== Configurer ==== | ||
- | Adaptez le serveur à la //jail// et au serveur de base de données, | + | === Journaux === |
- | c'est à dire permettre au serveur **diaspora** d' | + | |
+ | Pour éviter de surcharger vos disques de logs, configurez newsyslog(8) | ||
- | ===== Démarrer ==== | + | <file shell / |
+ | / | ||
+ | </ | ||
+ | |||
+ | Et, si vous utilisez '' | ||
+ | <file shell / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ===== Démarrer | ||
Lancez simplement: | Lancez simplement: | ||
Ligne 251: | Ligne 399: | ||
root@popeye:# | root@popeye:# | ||
</ | </ | ||
+ | |||
+ | Connectez vous sur le site et ajoutez un utilisateur. Déclarez le ensuite comme un administrateur à l'aide de son //adresse mail//. | ||
+ | |||
+ | <code bash> | ||
+ | root@popeye:# | ||
+ | root@diaspora:# | ||
+ | diaspora@diaspora: | ||
+ | diaspora@diaspora: | ||
+ | Role.add_admin User.where(email: | ||
+ | </ | ||
+ | |||
+ | ===== Production ===== | ||
+ | |||
+ | En mode production, une fois l' | ||
+ | |||
+ | N' | ||
+ | <code bash> | ||
+ | sysctl kern.elf64.allow_wx=0 | ||
+ | </ | ||
+ | ===== Mettre à jour ===== | ||
+ | |||
+ | Pour évitez une interruption du service trop longue, préparez la mise à jour dans une autre [[https:// | ||
+ | Cloner votre //jail// courante et mettez à jour tout le système. | ||
+ | |||
+ | |||
+ | Suivez les [[https:// | ||
+ | |||
+ | |||
+ | Lancez les opérations jusqu' | ||
+ | |||
+ | Coupez le service de la //jail// de production et dupliquez la base de donnée du [[ports: | ||
+ | |||
+ | <code plsql> | ||
+ | CREATE DATABASE diaspora_prodold | ||
+ | WITH TEMPLATE diaspora_production | ||
+ | OWNER diaspora; | ||
+ | </ | ||
+ | |||
+ | Modifiez le nom base de données de production du fichier '' | ||
+ | |||
+ | Dans la nouvelle //jail//, terminez la mise à jour. | ||
+ | Si tout s'est bien passé, routez la configuration [[ports: | ||
+ | |||
+ | Stoppez l' | ||
+ | |||
+ | ===== poudriere ===== | ||
+ | |||
+ | Voici un exemple de liste de paquets à installer pour une [[: | ||
+ | |||
+ | < | ||
+ | databases/ | ||
+ | databases/ | ||
+ | databases/ | ||
+ | databases/ | ||
+ | devel/ | ||
+ | devel/bison | ||
+ | devel/git | ||
+ | devel/ | ||
+ | devel/ | ||
+ | ftp/curl | ||
+ | graphics/ | ||
+ | mail/ssmtp | ||
+ | ports-mgmt/ | ||
+ | security/ | ||
+ | shells/bash | ||
+ | textproc/ | ||
+ | textproc/ | ||
+ | www/node | ||
+ | www/yarn | ||
+ | </ | ||
+ | |||