GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Schritte vor der Einrichtung

Ihre Cloud, Ihre Daten, Ihr Weg! - ownCloud 4.0 auf CentOS 6.2 + nginx + PostgreSQL

Dieses Dokument beschreibt, wie man ownCloud von der "ownCloud-Community" auf einem CentOS 6.2-basierten Webserver aus dem tar-Paket auf einem nginx- und php-fpm mit einer postgreSQL-Datenbank als Backend installiert und einrichtet. Bei anderen Distributionen können geringfügige Änderungen an den Installationsverfahren für die Softwarevoraussetzungen vorgenommen werden. Diese Anleitung hilft nicht nur bei der Installation des Produkts, sondern versteht auch, warum bestimmte Punkte so gemacht werden, wie sie gemacht werden (dies ist am hilfreichsten für Benutzer mit wenig oder gar keinem Wissen, die, wie ich vor einiger Zeit, erst angefangen haben, Linux zu verwenden).

Was ist ownCloud?

Es ist ein Datei-/Kontakt-/Kalender-Sharing-Tool für Gruppen oder Unternehmen, das aus meiner Sicht sowohl Dropbox als auch GroupOffice (mit Ausnahme der bisherigen E-Mail-Integration) am besten macht und nicht so überladen oder schwerfällig ist wie Alfresco oder Sharepoint.

Links zu mehreren Abschnitten von Entwicklern:

  • Produkthomepage:http://owncloud.org/
  • IRC:http://webchat.freenode.net/?channels=owncloud
  • Unterstützung:http://owncloud.org/support/

Ich garantiere nicht, dass es für Sie funktioniert, da später Änderungen an der Software, sowohl der Voraussetzung als auch der Hauptsoftware, so vorgenommen werden können, dass die in diesem Tutorial erwähnten Verfahren unterbrochen werden oder auf andere Weise nicht erfolgreich abgeschlossen werden können.
P.S. Alle hinzugefügten Fehler sind von mir. Verwenden Sie Kommentare oder navigieren Sie zu IRC.

Vorbemerkung

In diesem Tutorial verwenden wir:

  • Centos 6.2-Installationsmedien
  • Hostname:owncloud.example.com
  • IP-Adresse:192.168.1.100
  • Routeradresse:192.168.1.1
  • Netzmaske:255.255.255.0
  • Nehmen Sie an (stellen Sie sich vor), dass der Server mit dem öffentlichen Internet verbunden ist
  • Wir verwenden unseren Computer, um den Server per ssh (Putty unter Windows) fernzusteuern, auch wenn Sie den Server an Ihrer Seite haben oder ihn als virtuelle Maschine unter Ihrem Hauptbetriebssystem laufen lassen
  • GNU vim als unser primärer Texteditor. Sie können aber auch andere Ihrer Wahl verwenden

Anforderungen

Wir benötigen eine funktionierende saubere (minimale) Installation von Centos 6.2 (x86 oder x86_64 ist irrelevant), ich persönlich verwende die x86_64-Version und empfehle Ihnen dringend, dasselbe zu tun.

Das Wichtigste zuerst

Melden Sie sich als Root bei der Serverkonsole an. Sie werden an der Eingabeaufforderung [[email protected] ~]# angezeigt.

Ich bevorzuge bestimmte Einstellungen, die völlig optional sind, aber Sie könnten sie später nützlich finden. Ich richte mein Terminal so ein, dass die Ausgabe in Farbe mit Datum, Uhrzeit, Servername und aktuellem Ordner an der Eingabeaufforderung angezeigt wird. Auch um den Befehlsverlauf mit Datum/Uhrzeit anzuzeigen. Ich erhöhe auch die Standardwerte für die Verlaufsgröße.

Führen Sie dazu Folgendes aus:

vi ~/.bash_profile

Fügen Sie die erwähnten Zeilen nach der export PATH-Direktive hinzu. Falls Sie es nicht wissen, drücken Sie "i", um in den Einfügemodus zu gelangen, und "ESC", um ihn zu verlassen. Vi ist vi :)

#Verlaufsgröße für 50.000 Befehle und zehnmal größere Dateigrößeexport HISTSIZE=50000export HISTFILESIZE=500000#Verlauf mit Datum als Beispiel anzeigen:"24.05.2012 - 14:28:56"export HISTTIMEFORMAT="%d.%m .%Y - %H:%M:%S "#Autocolor-Ausgabe des Befehls "ls" export LS_OPTIONS='--color=auto'eval "`dircolors`"#Eingabeaufforderung so einstellen, dass sie als Beispiel angezeigt wird:"Thu May 24 2012 14 :28:56 owncloud.example.com von root @ ~]"#und Datum, Zeit und Ort unterschiedlich einfärben. Alle Eingabetexte auf Standardwerte setzen.PS1="\e[1;37m\][\e[1;36m\] \d \D{%Y} \e[1;31m\]\t \e[1;37m\] \H von \u @ \W] \033[00m\]"

Datei speichern und beenden. Wenn Sie es nicht wissen, geben Sie außerhalb des Einfügemodus entweder ":wq" ein und drücken Sie die Eingabetaste, um zu speichern und zu beenden, oder drücken Sie einfach "ZZ", um dasselbe zu tun. Um sich erneut am Terminal anzumelden, um die Änderungen zu übernehmen, führen Sie Folgendes aus:

beenden

Netzwerk

Wenn Sie während der Installation keine statische IP-Adresse eingerichtet haben, sagen Sie, Sie haben einen DHCP-fähigen Router, müssen Sie dies jetzt tun, andernfalls fahren Sie mit dem nächsten Schritt fort.

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Nur erwähnte Zeilen ändern oder hinzufügen.

BOOTPROTO="none"NETWORK="192.168.1.0"NETMASK="255.255.255.0"IPADDR="192.168.1.100"GATEWAY="192.168.1.1"

Speichern und schließen. Starten Sie dann das Netzwerk neu:

Neustart des Dienstnetzwerks

Prüfen Sie, ob das Netzwerk neu konfiguriert ist, indem Sie Folgendes ausführen:

ifconfig

Jetzt sollten Sie in der Lage sein, als Root per SSH auf den Server unter 192.168.1.100 zuzugreifen. Aber tun Sie das jetzt noch nicht, führen Sie zuerst den nächsten Schritt durch.

Sicherung des Servers

Bevor wir fortfahren, da wir davon ausgegangen sind, dass der Server tatsächlich mit dem Internet verbunden ist, müssen wir ihn sichern. Wir werden drei Dinge tun.

  • Konfigurieren Sie den ssh-Server neu, sodass er keine Root-Anmeldung zulässt, und ändern Sie den Standardport 22 auf etwas anderes, weniger gebräuchliches, z. B. 60606,
  • Richten Sie iptables ein, um eingehende Verbindungen auf einem neuen Port zuzulassen,
  • Fügen Sie unseren ersten Systembenutzer hinzu, um sich mit ihm über ssh anzumelden.
  1. Sichern der Remote-Anmeldung

    Wenn Sie noch nicht von der Konsole beim Server angemeldet sind (ich meine die lokale Konsole, noch nicht ssh), melden Sie sich als root an und führen Sie dann Folgendes aus:

    vi /etc/ssh/sshd_config

    In Zeile dreizehn der unveränderten Standarddatei (falls Sie sich erneut fragen, geben Sie ":set number" ein und drücken Sie die Eingabetaste außerhalb des Einfügemodus, um die Zeilennummern zu erhalten) Es gibt eine Port 22-Direktive. Duplizieren Sie sie, ändern Sie die Portnummer in 60606 und kommentieren Sie sie aus.
    Suchen Sie dann (außerhalb des Einfügemodus drücken Sie "/" und geben Sie den gesuchten Satz ein) PermitRootLogin yes-Direktive duplizieren Sie erneut und ändern Sie ihren Wert in no und kommentieren Sie sie ebenfalls aus , dann speichern Sie die Datei. Oh, und es ist ":noh", um die Hervorhebung auszuschalten.
    Sshd danach neu starten:

    service sshd Neustart
  2. IPtables setzen

    Überprüfen Sie zuerst bereits vorhandene iptables:

    iptables -L -v --line-numbers

    In der Standardinstallation an Position '4' wird die Anweisung sein, neue TCP-Verbindungen auf dem Standard-SSH-Port zu akzeptieren, wir müssen sie entfernen, also ausführen:

    iptables -D INPUT 4

    Jetzt müssen wir stattdessen Verbindungen zu Port 60606 zulassen. Ausführen:

    iptables -I INPUT 4 -p tcp -d 192.168.1.100 --dport 60606 -j ACCEPT

    Um den aktuellen iptables-Status zu speichern, führen Sie schließlich Folgendes aus:

    service iptables save
    service iptables neu starten

  3. Erster Benutzer wird hinzugefügt

    Jetzt ist alles gut, bis auf eine Sache, wir haben uns von ssh gesperrt, da root nicht erlaubt ist und es noch keine anderen Systembenutzer gibt. Zeit zur Korrektur:

    useradd -c "ownCloud-Systembenutzer" -m -n cloudadmin

    Passwort für diesen Benutzer festlegen:

    passwd cloudadmin

    Erledigt. Sie könnten das Passwort für den Benutzer im ersten Befehl festlegen, aber auf diese Weise wird der Passwortwert während der Eingabe im Terminalfenster angezeigt und auch in der .bash_history des Root-Benutzers gespeichert, was nicht wünschenswert ist.
    Jetzt können Sie sich anmelden über ssh führt den folgenden Befehl in Ihrem Terminalfenster auf dem lokalen Computer aus:

    ssh [email protected] -p60606

Schritte vor der Einrichtung

Die Installation der Software ist in den meisten Fällen ziemlich einfach und wir hätten das meiste davon bei der Erstinstallation "überprüfen" können, aber ich ziehe es vor, die Dinge von Hand zu erledigen.
Ich unterteile die Installation absichtlich in Abschnitte.

  1. Anmelden als Superuser

    In diesem Moment sollten Sie sich als clouddmin-Benutzer auf der Konsolen-Eingabeaufforderung befinden. Um Root-Privilegien zu erhalten, führen Sie Folgendes aus:

    su -
  2. Software-Repositorys

    Um die gewünschte Software verwenden zu können, sind zwei Repositories erforderlich.
    Zuerst EPEL, ausführen:

    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-6.noarch.rpm
    Und nein, i386 ist kein Fehler, es ist sowohl für 32-Bit- als auch für 64-Bit-Systeme gleich.
    Dann Remi, führe Folgendes aus:

    rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    Überprüfen Sie nun sowohl die epel- als auch die remi-Repositories und falls es nicht vorhanden ist, setzen Sie enabled=1, indem Sie Folgendes ausführen:

    vi /etc/yum.repos.d/epel.repo
    vi /etc/yum.repos.d/remi.repo

    Aktualisieren Sie schließlich Ihr System. Selbst frisch installiertes CentOS muss möglicherweise zuerst aktualisiert werden. Ausführen:
    yum update -y
  3. Präzisionszeit

    Es ist gut, mit dem Rest der Welt synchronisiert zu sein, führen Sie Folgendes aus:

    yum installiere ntp
    service ntpd start
    chkconfig ntpd on
    ntpd

  4. Einige andere Tools

    Um mein Leben etwas einfacher zu machen, verwende ich vim anstelle von vi, htop anstelle von top, elinks, um Dinge innerhalb von Terminal und mc schnell zu testen, als guter und nicht nur Dual-Pane-Dateimanager wird wget benötigt, um Sachen herunterzuladen und Mann ist unerlässlich, wenn Sie so ziemlich alles lesen möchten. Ausführen:

    yum install vim htop elinks mc wget man -y

ownCloud-Setup

  1. Softwarevoraussetzungen

    Ein Haufen PHP-Zeug, führe aus:

    yum installiere php-fpm php-gd php-ldap php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-shout php-snmp php-soap php-tidy php-pgsql

    php.ini bearbeiten, ausführen:

    vim /etc/php.ini

    Es müssen vier Direktiven geändert werden,
    die erste sollte auf Zeile 736 stehen, die Direktive post_max_size
    die zweite auf Zeile 848, die Direktive cgi.fix_pathinfo
    die dritte auf Zeile 885, die Direktive upload_max_filesize
    zuletzt Zeile 956, Direktive date.timezone ändere sie entsprechend dem Standort deines Servers.

    [...]post_max_size =64M[...]cgi.fix_pathinfo =0[...]upload_max_filesize =64M[...]date.timezone ="Europa/Prag"[...] 

    Falls Sie nicht wissen wie, können Sie Ihren Zeitzonennamen finden, indem Sie Folgendes ausführen:

    cat /etc/sysconfig/clock

    Konfigurieren Sie als Nächstes php-fpm so, dass Unix-Socket anstelle des TCP-Stacks verwendet wird, führen Sie Folgendes aus:

    vim /etc/php-fpm.d/www.conf

    Lassen Sie es ab Zeile zwölf so aussehen:

    ;listen =127.0.0.1:9000listen =/var/run/php-fpm/php-fpm.sock

    Starten Sie php-fpm:

    chkconfig php-fpm on
    service php-fpm start

  2. Backend - PostgreSQL

    Um es zu installieren und einzurichten, führen Sie Folgendes aus:

    yum install postgresql postgresql-libs postgresql-server
    service postgresql initdb
    service postgresql start
    chkconfig postgresql on

    Melden Sie sich bei postgres als postgres-Systembenutzer an, erstellen Sie einen Datenbankbenutzer, eine Datenbank und gewähren Sie Berechtigungen

    su - -c "psql" postgres
    ERSTELLEN SIE BENUTZER clouduser MIT PASSWORT 'userpass';
    ERSTELLEN SIE DATENBANK clouddb EIGENTÜMER clouduser CODIERUNG 'UTF8';
    GEWÄHREN SIE ALLE PRIVILEGIEN AUF DATENBANK clouddb AN clouduser;
    \q

    Ändern Sie die postgresql-Konfigurationsdatei, um Kennwortanmeldungen zuzulassen:

    vim /var/lib/pgsql/data/pg_hba.conf
    • Suchen Sie nach

      # Lokale IPv4-Verbindungen:
      hostet alle alle 127.0.0.1/32 ident

    • Und ändern Sie es in

      # Lokale IPv4-Verbindungen:
      Host alle alle 127.0.0.1/32 Passwort

    Starten Sie nun die Datenbank neu:

    Service-Postgresql-Neustart
  3. nginx-Webserver

    Installieren, beim Booten starten und dann stoppen:

    yum installiere nginx
    service nginx start
    chkconfig nginx on
    service nginx stop

    Bereiten Sie die Konfigurationsdatei für die ownclod-Website vor:

    vim /etc/nginx/conf.d/owncloud.conf
    # http auf https.server umleiten { listen 80; server_name owncloud.example.com; umschreiben ^ https://$server_name$request_uri? dauerhaft; # https erzwingen} # owncloud (ssl/tls) server { listen 443 ssl; ssl_certificate /etc/nginx/certs/server.crt; ssl_certificate_key /etc/nginx/certs/server.key; server_name owncloud.example.com; root /var/www/owncloud; indexindex.php; client_max_body_size 64M; # Maximale Uploadgröße festlegen # Direktzugriffsspeicherort verweigern ~ ^/(data|config|\.ht|db_structure\.xml|README) { deny all; } # Standardspeicherort für Try-Orders / { try_files $uri $uri/ @webdav; } # owncloud WebDAV location @webdav { fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS an; schließen Sie fastcgi_params ein; } # PHP-Speicherort aktivieren ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS an; schließen Sie fastcgi_params ein; }}

    Lassen Sie uns nun Zertifikate für den Server erstellen und die Fragen in der Eingabeaufforderung gemäß Ihren Einstellungen beantworten:

    mkdir -p /etc/nginx/certs/
    cd /etc/nginx/certs/
    openssl genrsa -des3 -out server.key 1024
    openssl req -new -key server.key - out server.csr
    cp server.key server.key.orig
    openssl rsa -in server.key.orig -out server.key
    openssl x509 -req -days 365 -in server. csr -signkey server.key -out server.crt

    Laden Sie nginx neu, um die neue Konfiguration zu aktivieren:

    service nginx reload
  4. ownCloud-Dateien und -Verzeichnisse

    Die Installation von ownCloud besteht aus dem Herunterladen und Entpacken des Archivs, mit einigen Anpassungen auf der Serverseite, also führen Sie Folgendes aus:

    cd /tmp
    wget http://download2.owncloud.org/releases/owncloud-4.0.0.tar.bz2
    tar xjf owncloud-4.0.0.tar.bz2
    mv owncloud /var/www/
    mkdir -p /var/www/owncloud/data
    chmod 770 /var/www/owncloud/data
    chown -R root:apache /var/www/owncloud

    Und noch einmal, Apache als Gruppe im letzten Befehl ist kein Fehler. php-fpm wird standardmäßig als Benutzer apache

    ausgeführt
  5. Zugriff auf die Website

    Öffnen Sie Port 443, um auf die Website zugreifen zu können, führen Sie Folgendes aus:

    iptables -I INPUT 4 -p tcp -d 192.168.1.100 --dport 443 -j ACCEPT
    service iptables save
    service iptables restart

Testlauf

Navigieren Sie über den Browser Ihrer Wahl zu https://owncloud.example.com und schließen Sie den Installationsvorgang ab.

Wählen Sie den Benutzernamen und das Passwort des Administrators, wählen Sie PostgreSQL als Datenbank-Backend und geben Sie die entsprechenden Werte in den Datenbankverbindungseinstellungen ein.

Genießen.

Fehlerbehebung

Protokolldateien befinden sich wie folgt:

/var/www/owncloud/data/owncloud.log
/var/log/php-fpm/www-error.log
/var/log/nginx/access.log
/var /log/nginx/error.log


Cent OS
  1. 4 Schritte zum Einrichten eines lokalen Repositorys in Ubuntu mit APT-Mirror

  2. SysLog-Server auf CentOS 6 / RHEL 6 einrichten

  3. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  5. Richten Sie den Urbackup-Server auf Ubuntu 20.04 ein

Kali HTTP-Server einrichten

So richten Sie den NFS-Server unter CentOS 8 / RHEL 8 ein

So richten Sie einen SVN-Server unter CentOS ein

ISP-Server-Setup – OpenSUSE 10

CentOS 8 – Ersteinrichtung des Servers

Schritt für Schritt den iRedMail-Mailserver auf Centos 8 einrichten