Installer Overleaf pour des documents LaTeX collaboratifs sur votre serveur

Over­leaf est le suc­ces­seur de Sha­re­La­TeX, il résulte de la fusion de l'ancienne ver­sion d'Overleaf avec Sha­re­La­TeX.

Il per­met d'éditer des docu­ments LaTeX en col­la­bo­ra­tif [1].

L'interface se divise en trois par­ties. Un ban­deau pour navi­guer dans les fichiers du pro­jet, un édi­teur de texte avec colo­ra­tion syn­taxique, et sug­ges­tion de com­mandes LaTeX au fur et à mesure de la sai­sie, et enfin, un vision­neur de pdf pour voir le ren­du du code source.

Comment installer Overleaf sur son serveur ?

Over­leaf se pré­sente comme un conte­neur docker. Je pren­drais l'exemple d'une ins­tal­la­tion sur Debian et dis­tri­bu­tions GNU/​Linux déri­vées avec Nginx et Sys­temd.

Vous pou­vez retrou­ver la docu­men­ta­tion de l'installation sur le dépôt GitHub du pro­jet [2].

Comment installer le conteneur ?

Pour uti­li­ser Over­leaf, il faut ins­tal­ler quelques dépen­dances.

Il vous faut doré­na­vant modi­fier la config dans config/variables.env et config/overleaf.rc, pour s'adapter à votre situa­tion et per­son­na­li­ser l'instance.

Par­mis les para­mètres impor­tant à confi­gu­rer se trouvent notam­ment le port d'écoute d'Overleaf.
Si il y a déjà un ser­veur http sur votre machine, il fau­dra le chan­ger, car le port 80 est déjà occu­pé.

Comment configurer le daemon systemd ?

Si la com­mande pré­cé­dente lance over­leaf cor­rec­te­ment, il est temps de créer un ser­vice dae­mon sys­temd dans /etc/systemd/system/overleaf.service.

Vous pou­vez désor­mais lan­cer le ser­vice avec les com­mandes sys­temctl habi­tuelles…

Il faut doré­na­vant ins­tal­ler les paquets LaTeX, avec TeX Live.

Bon, main­te­nant, vous pou­vez aller vous cher­cher un café…

… Parce qu'il y a plus de 4000 paquets à ins­tal­ler, et ça va prendre du temps.

Je vous conseille donc d'ouvrir un autre ter­mi­nal ssh, pour qu'on avance pen­dant ce temps.

Comment accéder à Overleaf depuis son nom de domaine ?

En prin­cipe, vous pou­vez déjà accé­der à votre ins­tall' depuis http://<ADRESSE_IP_DE_VOTRE_SERVEUR>:8877, si tant est que vous ayez ouvert le port ; mais vous convien­drez que ce n'est pas des plus pra­tiques…

Je vous conseille donc d'ajouter une entrée dans votre DNS qui pointe vers l'IP publique de votre ser­veur, à par­tir d'un sous-domaine, par exemple.

Pour que ce nom de domaine redi­rige vers le port d'écoute d'Overleaf, nous allons uti­li­ser un proxy Nginx (cela fonc­tionne de façon simi­laire avec Apache2 /​ httpd).

Comment configurer Nginx en proxy ?

La confi­gu­ra­tion du ser­veur Nginx reprends le même fonc­tion­ne­ment que celle uti­li­sée lors de l'install' de Jupy­te­rHub.

Elle se passe dans /etc/nginx/sites-available/overleaf.conf [3].

Dans cet exemple, on a consi­dé­ré que votre nom de domaine était sha​re​la​tex​test​.com, n'oubliez pas de modi­fier ce para­mètre, ain­si que le port dans http://localhost:8877, si vous n'avez pas choi­si le même que moi.

Dès lors, il faut faire un lien sym­bo­lique dans /etc/n­gin­x/­sites-enabled/ pour que la confi­gu­ra­tion pré­cé­dente soit prise en compte :

Enfin, il est néces­saire de relan­cer nginx, avec les com­mandes sys­temd habi­tuelles :

Et voi­là !

Ren­dez-vous dès main­te­nant sur https://​sha​re​la​tex​test​.com/​l​a​u​n​c​h​pad pour confi­gu­rer les iden­ti­fiants admi­nis­tra­teur de votre ins­tance, connec­tez-vous, et vous pou­vez com­men­cer à rédi­ger vos docu­ments, et invi­ter vos col­la­bo­ra­teurs à tra­vailler avec vous ;-)…

Mal­heu­reu­se­ment les nou­velles ver­sions d'Overleaf Com­mu­ni­ty Edi­tion n'intègrent plus le module d'inscription, ça se passe par invi­ta­tion via l'interface admin. Il doit y avoir un moyen de se bri­co­ler un for­mu­laire, avec la ligne de com­mande en backend.…

Bonus :

Comment installer Pygmentize pour inclure des morceaux de codes stylés ?

Dans l'instance offi­cielle d'Overleaf [1], il est pos­sible d'utiliser le package >min­ted pour obte­nir une colo­ra­tion syn­taxique du code source inclus plu­tôt sym­pa­thique :

Il est pos­sible, pour nous aus­si, d'installer le paquets python pyg­men­tize, pour obte­nir le même résul­tat.

Et ajou­ter la ligne sui­vante dans /usr/local/texlive/2022/texmf.cnf (dans le conte­neur).

Plus qu'à relan­cer le ser­vice over­leaf, et à vous les colo­ra­tion syn­taxique dans vos pdf LaTeX !

Et voi­là, c'est tout pour moi ;-).
Mer­ci beau­coup au relec­teurs (ZaZo0o, Pierre Mari­jon, David Picard, et Yoann) pour leur conseils et sug­ges­tions !

Références



Pour continuer la lecture :


Commentaires

Laisser un commentaire