Schwierigkeitsgrad: mittel.
Sie wissen, wie man Remote-Server wartet und Sie sollten ein wenig wissen von:
Emacs gibt es seit der Entstehung der Erde, vermutlich löste es sich zusammen mit dem Mond von der Protoerde ab. Um es auch in Umgebungen wie auf Ihren Servern zu verwenden, in denen Sie es nicht einfach installieren können oder wollen, sollten Sie es aus den Quellen bauen.
Das klingt schwer, so wie für einige Emacs schwer klingt. Ist es aber nicht!
Lassen Sie einfach GNU TLS und den ganzen X-Windows-Kram weg und Sie können jetzt selbst diese riesigen Dateien direkt dort anzeigen und bearbeiten, wo sie sich befinden. Aber um dies zu tun, möchten Sie auch die hilfreichen Emacs-Pakete installieren, nicht wahr? Wir wollen dies ohne dieses laue Gefühl im Magen tun, wenn wir auf TLS verzichten müssten, deshalb werden wir einen leichten sicheren Tunnel verwenden.
Laden Sie die Emacs-Quellen von GNU via ´git´ oder tar.xz herunter (und extrahieren Sie diese, wenn es sich um eine tar.xz handelt). Das Folgende funktioniert für Emacs > = 27.1. Falls vorhanden, vergleichen Sie bitte Prüfsummen und validieren Sie die Signatur mit gpg.
Um zu vermeiden, GNU TLS und seine Abhängigkeiten zu erstellen, werden wir die Abkürzung durch stunnel
nehmen.
Stunnel ist ein TLS-Tunneling-Server, der die Nur-Text-HTTP-Anforderungen von Emacs auf sichere Weise an die Update-Server tunnelt. Es befindet sich zwischen der lokalen HTTP-Anforderung und dem https-Server außerhalb.
Stunnel ist leichtgewichtig und benötigt keine weiteren Abhängigkeiten. Es baut sich schnell auf. Ich empfehle, es wie üblich auf Ihrem Server zu installieren, damit es Teil des Update-Zyklus wird.
mkdir $HOME/myemacs
Führen Sie im heruntergeladenen und extrahierten Emacs-Verzeichnis Folgendes aus:
./autogen.sh
./configure --without-gnutls --with-sound=no --without-x --prefix=$HOME/myemacs/ --exec-prefix=$HOME/myemacs/
Überprüfen Sie die Ausgabe auf Warnungen und Fehler.
Auf einem Linux verwenden Sie bitte “make” anstelle von “gmake”.
gmake # build
gmake install # install into the myemacs directory structure, please make sure it exists and is writable
Wenn Sie ein bin-Verzeichnis in Ihrem Suchpfad haben, können Sie symbolische Links zu den ausführbaren Dateien erstellen:
cd $HOME/bin
ln -s $HOME/myemacs/bin/* .
Unter FreeBSD können Sie stunnel
über die ports-Sammlung installieren und STUNNEL_ENABLE=YES
an /etc/rc.conf
anhängen. Bitte versuchen Sie, es nicht als root auszuführen.
Erstellen Sie ein Zertifikat, um Stunnel beim Remoteserver als PEM-Datei zu authentifizieren.
Fügen Sie Folgendes in der Konfigurationsdatei hinzu (bitte überprüfen Sie die Ports und den Speicherort des Zertifikats):
[emacs-melpa]
client = yes
accept = 9902
sni = melpa.org
connect = melpa.org:443
cert = /usr/local/etc/stunnel/stunnel.pem
[emacs-elpa]
client = yes
accept = 9901
sni = elpa.gnu.org
connect = elpa.gnu.org:443
cert = /usr/local/etc/stunnel/stunnel.pem
Starten Sie stunnel
(manuell, indem Sie die obige Konfigurationsdatei als erstes Argument verwenden). Stunnel benötigt kein Konto mit erhöhten Rechten. Wir haben es nicht so konfiguriert, dass es als Server mit Ports < 1024 ausgeführt wird, sodass Sie es als normaler Benutzer ausführen können.
Wir müssen Emacs mitteilen, dass es jetzt lokal nach Paketupdates suchen muss.
Ändern Sie Ihre ~/.emacs
-Datei so, dass die folgenden Zeilen die ersten Zeilen sind:
(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
(not (gnutls-available-p))))
(proto (if no-ssl "http" "https")))
(add-to-list 'package-archives (cons "melpa" "http://localhost:9902/packages/"))
(add-to-list 'package-archives (cons "gnu" "http://localhost:9901/packages/"))
)
(package-initialize)
Jetzt sollten Sie bereit sein, Emacs auszuführen und Pakete zu installieren. Das Aktualisieren von Emacs benötigt die oben genannten Schritte nicht mehr, außer für den Build- und Installationsprozess.
Sie können jetzt Ihre Lieblingssoftware zum Anzeigen und Bearbeiten von Dateien verwenden.
Ältere GNU Emacs-Versionen erlaubten entfernten Angreifern, beliebigen Code per E-Mail mit speziell gestalteten Daten auszuführen. Obwohl dies korrigiert wurde, verwenden Sie diese erstellte Version von Emacs bitte nicht zum Browsen von Websites oder zum Lesen von E-Mails auf Ihren Servern.
Überprüfen Sie Ihre Konfigurationsdatei /.emacs
auf verdächtige Einträge.