Outils pour utilisateurs

Outils du site


admin:services:phabricator

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:services:phabricator [2015/09/11 15:09] tycho.tatitscheffadmin:services:phabricator [2019/11/27 02:05] (Version actuelle) – [Configuration du vhost] Màj david
Ligne 6: Ligne 6:
  
 ===== Administration ===== ===== Administration =====
 +==== Modification des Dashboards ====
 +Pour modifier un dashboard, notamment le message "bienvenue", la procédure à suivre et la suivante :
 +  - rechercher Dashboard dans la barre de recherche
 +  - cliquer sur manage dashboard en bout de ligne (c'est l'icone représentant 9 cases (3*3))
 +  - éditer le message de bienvenue en cliquant sur le crayon 
  
 +Note : il faut posséder les droits admins pour modifier ces paramètres
 +Note 2 : ajouter un lien vers un projet dans le message de bienvenue améliore grandement la convivialité.
 ==== Redémarrage des démons ==== ==== Redémarrage des démons ====
  
Ligne 124: Ligne 131:
 # Conf pour les màj de phabricator # Conf pour les màj de phabricator
  
 +/var/log/phabricator_backup.log
 /var/log/phabricator_update.log { /var/log/phabricator_update.log {
     weekly     weekly
Ligne 145: Ligne 153:
 ==== Installation des logiciels ==== ==== Installation des logiciels ====
  
-Pour PHP, les modules mbstring, iconv et pcntl sont activés par défaut dans le paquet php5 de jessie, il n'y a donc rien de particulier à faire pour les installer en plus de PHP.+Pour PHP, les modules iconv et pcntl sont activés par défaut dans le paquet php de buster, il n'y a donc rien de particulier à faire pour les installer en plus de PHP.
  
-Les paquets optionnels php5-apcu et php5-gd ont été installés.+Les paquets optionnels php-apcu, php-gd et php-zip ont été installés.
  
 Pour installer d'un coup tous les paquets utiles, (y compris php5-ldap, utilisé pour l'authentification), on peut lancer : Pour installer d'un coup tous les paquets utiles, (y compris php5-ldap, utilisé pour l'authentification), on peut lancer :
 <code bash> <code bash>
-apt-get install apache2 libapache2-mod-php5 php5 git php5-mysql php5-curl \ +apt install apache2 libapache2-mod-php git python3-pygments php php-apcu php-curl php-gd php-json php-ldap php-mbstring php-mysql php-zip
-    php5-apcu php5-gd php5-ldap mysql-server python-pygments+
 </code> </code>
  
Ligne 175: Ligne 182:
 On crée ensuite le vhost en créant le fichier suivant : On crée ensuite le vhost en créant le fichier suivant :
 <file apache /etc/apache2/sites-available/task.conf> <file apache /etc/apache2/sites-available/task.conf>
-<VirtualHost *:80+# Redirections vers task.federez.net 
-  ServerName task.federez.net +<VirtualHost *:443
-  ServerAlias task.federez.org +  ServerName phabricator.federez.net 
-  ServerAlias todo.federez.net todo.federez.org +  ServerAlias todo.federez.net 
-  ServerAlias phabricator.federez.net phabricator.federez.org + 
-  ServerSignature Off+  RedirectMatch permanent ^/(?!.well-known/)(.+)$ https://task.federez.net/ 
 + 
 +  SSLEngine on 
 +  SSLCertificateFile /etc/letsencrypt/live/nonagon.federez.net/fullchain.pem 
 +  SSLCertificateKeyFile /etc/letsencrypt/live/nonagon.federez.net/privkey.pem
  
-  Redirect permanent https://task.federez.net/+  ErrorLog ${APACHE_LOG_DIR}/phabricator-redir.error.log 
 +  CustomLog ${APACHE_LOG_DIR}/phabricator-redir.access.log combined
 </VirtualHost> </VirtualHost>
  
 <VirtualHost *:443> <VirtualHost *:443>
   ServerName task.federez.net   ServerName task.federez.net
-  ServerAlias task.federez.org task.federez.fr 
-  ServerAlias todo.federez.net todo.federez.org todo.federez.fr 
-  ServerAlias phabricator.federez.net phabricator.federez.org  phabricator.federez.fr 
   ServerSignature Off   ServerSignature Off
  
   <Directory /opt/phabricator/phabricator/webroot>   <Directory /opt/phabricator/phabricator/webroot>
 +      AllowOverride None
       Require all granted       Require all granted
   </Directory>   </Directory>
Ligne 201: Ligne 211:
   LimitRequestBody 33554432   LimitRequestBody 33554432
  
-  php_value post_max_size 32M +  php_value post_max_size 32M 
-  php_value opcache.validate_timestamps 0 +  php_value opcache.validate_timestamps 0 
-  php_value memory_limit 512M+  php_value memory_limit 512M
  
-  # Règles pour Phabricator 
   RewriteEngine on   RewriteEngine on
-  RewriteRule ^/rsrc/(.*)                           [L,QSA] +  RewriteRule ^/rsrc/(.*)                             [L,QSA] 
-  RewriteRule ^/favicon.ico                         [L,QSA] +  RewriteRule ^/favicon.ico                           [L,QSA
-  RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]+  RewriteRule ^/ws/(.*)       ws://localhost:22280/$1   [P,L
 +  RewriteRule ^(.*)$          /index.php?__path__=$1    [B,L,QSA]
  
-  ErrorLog ${APACHE_LOG_DIR}/phabricator.error.log +  ErrorLog ${APACHE_LOG_DIR}/phabricator-ssl.error.log 
-  CustomLog ${APACHE_LOG_DIR}/phabricator.access.log combined+  CustomLog ${APACHE_LOG_DIR}/phabricator-ssl.access.log combined
  
   SSLEngine on   SSLEngine on
-  SSLCertificateFile /etc/ssl/federez/federez_task.crt +  SSLCertificateFile /etc/letsencrypt/live/nonagon.federez.net/fullchain.pem 
-  SSLCertificateKeyFile /etc/ssl/private/federez.key +  SSLCertificateKeyFile /etc/letsencrypt/live/nonagon.federez.net/privkey.pem 
-  SSLCertificateChainFile /etc/ssl/federez/federez_task_chain.crt + 
-  SSLCACertificateFile /etc/ssl/certs/StartCom_Certification_Authority.pem+  ProxyPass /ws "http://127.0.0.1:22280/" 
 +  ProxyPassReverse /ws "http://127.0.0.1:22280/"
 </VirtualHost> </VirtualHost>
 +
 </file> </file>
  
Ligne 230: Ligne 242:
 On crée un utilisateur en base de données (via le compte root) : On crée un utilisateur en base de données (via le compte root) :
 <code mysql> <code mysql>
-CREATE USER 'user'@'localhost' IDENTIFIED BY 'passwd'; +CREATE USER 'user'@'IP' IDENTIFIED BY 'passwd'; 
-GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE, SHOW VIEW ON `phabricator\_%`.* TO 'user'@'localhost'; +GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE, SHOW VIEW ON `phabricator\_%`.* TO 'user'@'IP'; 
-CREATE USER 'user_adm'@'localhost' IDENTIFIED BY 'passwd'; +CREATE USER 'user_adm'@'IP' IDENTIFIED BY 'passwd'; 
-GRANT ALL PRIVILEGES ON `phabricator\_%`.* TO 'user_adm'@'localhost';+GRANT ALL PRIVILEGES ON `phabricator\_%`.* TO 'user_adm'@'IP';
 </code> </code>
  
Ligne 240: Ligne 252:
 ./bin/config set mysql.user 'user' ./bin/config set mysql.user 'user'
 ./bin/config set mysql.pass 'passwd' ./bin/config set mysql.pass 'passwd'
-./bin/storage upgrade --user 'root' --password 'password'+./bin/config set mysql.host 'hôte' 
 +./bin/storage upgrade --user 'root' --password 'password' --host 'hôte'
 </code> </code>
  
Ligne 265: Ligne 278:
 Cependant, si l'on veut autoriser le stockage de fichiers sur disque (et non en base de données), on lancera : Cependant, si l'on veut autoriser le stockage de fichiers sur disque (et non en base de données), on lancera :
 <code bash> <code bash>
-mkdir /data/phabricator+mkdir -p /data/phabricator
 chown www-data: /data/phabricator chown www-data: /data/phabricator
 ./bin/config set  "storage.local-disk.path" /data/phabricator ./bin/config set  "storage.local-disk.path" /data/phabricator
Ligne 286: Ligne 299:
 </code> </code>
  
-===== Configuration d'elasticsearch (option) =====+==== Gestion des logs des démons ====
  
-Afin d'obtenir de meilleur résultats de recherche, il est possible de+On crée le fichier suivant, pour que logrotate gère les logs des démons qui sont dans un dossier inadapté : 
 +<file yaml /etc/logrotate.d/phabricator> 
 +# Conf pour les logs de phabricator
  
 +/var/tmp/phd/log/daemons.log {
 +    daily
 +    missingok
 +    rotate 7
 +    compress
 +    notifempty
 +    create 740 phd phd
 +}
 +</file>
 +===== Configuration d'elasticsearch (option non retenue à FedeRez) =====
 +
 +Afin d'obtenir de meilleur résultats de recherche, il est possible de se baser sur elasticsearch.
 +L’installation est simple : cf [[https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html|la doc officielle]]
 +
 +Elasticsearch écoute de base sur ''0.0.0.0''. Afin d'augmenter la sécurité, on peut dé-commenter la ligne ''network.host: "127.0.0.1"'' dans ''/etc/elasticsearch/elasticsearch.yml''
 +
 +Après avoir activé le service au démarage (avec ''systemctl enable elasticsearch'') et lancé le service (avec ''systemctl start elasticsearch''), on peut l'activer dans phabricator.
 +
 +Il suffit de changer les configurations de phabricator avec les commandes: 
 +<code bash>/opt/phabricator/phabricator/bin/config set search.elastic.host "http://localhost:9200"
 +/opt/phabricator/phabricator/bin/config set search.elastic.namespace "phabricator"
 +</code>
 +
 +Enfin on execute, pour créer les index :
 +<code bash>/opt/phabricator/phabricator/bin/search init
 +/opt/phabricator/phabricator/bin/search index --all
 +</code>
 +
 +A partir de là on peut optimiser elasticsearch, changer la langue, rajouter des synonymes.
 +Cela se fait via curl :
 +<code bash>curl -XPUT 'http://127.0.0.1:9200/_template/template_phabricator' -d @mapping_phab.json</code>
 +Avec dans notre cas, un fichier mapping.json suivant.
 +<code javascript>
 +{
 +    "template": "phabricator",
 +    "settings": {
 +        "analysis": {
 +            "filter": {
 +                "trigrams_filter": {
 +                    "type":     "ngram",
 +                    "min_gram": 3,
 +                    "max_gram": 3
 +                },
 +                "french_elision": {
 +                    "type":         "elision",
 +                    "articles": [ "l", "m", "t", "qu", "n", "s",
 +                                  "j", "d", "c", "jusqu", "quoiqu",
 +                                  "lorsqu", "puisqu"
 +                                ]
 +                },
 +                "french_stop": {
 +                    "type":       "stop",
 +                    "stopwords":  "_french_"
 +                },
 +                "french_stemmer": {
 +                    "type":       "stemmer",
 +                    "language":   "french"
 +                }
 +            },
 +            "analyzer": {
 +                "french_no_trigrams": {
 +                    "type":      "custom",
 +                    "tokenizer": "standard",
 +                    "filter":   [
 +                        "french_elision",
 +                        "lowercase",
 +                        "french_stop",
 +                        "french_stemmer"
 +                    ]
 +                },
 +                "french_trigrams": {
 +                    "type":      "custom",
 +                    "tokenizer": "standard",
 +                    "filter":   [
 +                        "french_elision",
 +                        "lowercase",
 +                        "french_stop",
 +                        "french_stemmer",
 +                        "trigrams_filter"
 +                    ]
 +                }
 +            }
 +        }
 +    },
 +    "mappings": {
 +        "PROJ": {
 +            "properties": {
 +                "field": {
 +                    "properties": {
 +                        "corpus": {
 +                            "type": "string",
 +                    "analyzer": "french_trigrams"
 +                        }
 +                    }
 +                }
 +            }
 +        },
 +        "TASK": {
 +            "properties": {
 +                "field": {
 +                    "properties": {
 +                        "corpus": {
 +                            "type": "string",
 +                    "analyzer": "french_trigrams"
 +                        }
 +                    }
 +                }
 +            }
 +        },
 +        "USER": {
 +            "properties": {
 +                "field": {
 +                    "properties": {
 +                        "corpus": {
 +                            "type": "string",
 +                    "analyzer": "french_no_trigrams"
 +                        }
 +                    }
 +                }
 +            }
 +        }
 +    }
 +}
 +</code>
 +
 +Puis pour reindexer les objects :
 +<code bash>
 +/opt/phabricator/phabricator/bin/search index --all
 +</code>
 ===== Sauvegardes ===== ===== Sauvegardes =====
  
admin/services/phabricator.1441976989.txt.gz · Dernière modification : 2015/09/11 15:09 de tycho.tatitscheff

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki