Die Installation baut auf meine Serverkonfiguration auf. Falls du bei deinem Server bei Null anfängst, habe ich hier auch noch ein paar Anleitungen parat: Apache2 + PHP5 + MySQL + diverse Module installieren und fastCGI (fcgid) und suEXEC für den Apache2 installieren und einrichten
Hast du bereits einen Server mit Apache2, php5, MySQL etc., dann einfach darauf achten, dass du die hier gemachten Einstellungen an dein System anpasst (fastCGI, suEXEC, etc.).
User und Verzeichnisse anlegen, falls noch nicht geschehen oder vorhanden
Wir fügen den Nutzer wie z.B. owncloud hinzu
adduser owncloud
und fügen den Nutzer www-data, unter welchem auch unser Apache2 läuft, der Nutzergruppe owncloud hinzu
adduser www-data owncloud
Im nächsten Schritt wird die benötigten Verzeichnisstruktur angelegt.
mkdir /var/www/vhosts/owncloud mkdir /var/www/vhosts/owncloud/conf mkdir /var/www/vhosts/owncloud/htdocs mkdir /var/www/vhosts/owncloud/logs mkdir /var/www/vhosts/owncloud/tmp mkdir /var/www/vhosts/owncloud/cgi-bin mkdir /var/www/vhosts/owncloud/cgi-bin/php5-default mkdir /var/www/vhosts/owncloud/cert
Rechte
chown -R owncloud:owncloud /var/www/vhosts/owncloud chmod -R 750 /var/www/vhosts/owncloud chmod 550 /var/www/vhosts/owncloud/conf
Virtuellen Host anlegen (auch schon für SSL)
Falls du einen anderen Benutzer angelegt und eine andere Verzeichnisstruktur angelegt hast, musst du hier deine Daten anpassen, ansonsten solltest du es einfach kopieren können. Möchtest du mehrere Domains oder Dienste auf dem Server betreiben, solltest du auch <VirtualHost *:80> anpassen. Ich habe z.B. für das * die Server IP und für 80 den Port 999 und für 433, 998 eingetragen. Wenn du dich für andere Ports als die Standard Ports entscheidest, musst du dies dem Apache aber auch noch mitteilen. Mehr dazu gleich nach der vHost conf.
cat > /etc/apache2/sites-available/owncloud.conf << EOF <VirtualHost *:80> DocumentRoot /var/www/vhosts/owncloud/htdocs ServerName DOMAINODERIP SuexecUserGroup owncloud owncloud Options -FollowSymLinks <FilesMatch ".ph(p3?|tml)$"> SetHandler fcgid-script </FilesMatch> <IfModule mod_fcgid.c> php_admin_flag engine off AddHandler fcgid-script .php AddHandler fcgid-script .php5 FcgidConnectTimeout 20 FcgidMaxRequestLen 52428800 FCGIWrapper /var/www/vhosts/owncloud/cgi-bin/php5-default/php-fcgi-wrapper .php </IfModule> <Directory "/var/www/vhosts/owncloud/htdocs"> allow from all AllowOverride All Require all granted Options -Indexes +ExecCGI +FollowSymLinks +MultiViews </Directory> ErrorLog /var/www/vhosts/owncloud/logs/error.log LogLevel debug CustomLog /var/www/vhosts/owncloud/logs/access.log "combined" </VirtualHost> <VirtualHost *:443> DocumentRoot /var/www/vhosts/owncloud/htdocs Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpMyAdmin /usr/share/phpmyadmin ServerName DOMAINODERIP SuexecUserGroup owncloud owncloud Options -FollowSymLinks SSLEngine on SSLCertificateKeyFile /var/www/vhosts/owncloud/cert/server.key SSLCertificateFile /var/www/vhosts/owncloud/cert/server.crt <FilesMatch ".ph(p3?|tml)$"> SetHandler fcgid-script </FilesMatch> <IfModule mod_fcgid.c> php_admin_flag engine off AddHandler fcgid-script .php AddHandler fcgid-script .php5 FcgidConnectTimeout 20 FcgidMaxRequestLen 52428800 FCGIWrapper /var/www/vhosts/owncloud/cgi-bin/php5-default/php-fcgi-wrapper .php </IfModule> <Directory "/var/www/vhosts/owncloud/htdocs"> allow from all AllowOverride All Require all granted Options -Indexes +ExecCGI +FollowSymLinks +MultiViews </Directory> ErrorLog /var/www/vhosts/owncloud/logs/error.log LogLevel debug CustomLog /var/www/vhosts/owncloud/logs/access.log "combined" </VirtualHost> EOF
Ports dem Apachen mitteilen (nur nötig bei nicht standard Ports!)
nano /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default.conf Listen 80 Listen 999 <IfModule ssl_module> Listen 443 Listen 998 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
php.ini Config
Kopieren der php.ini in unser vHost conf Verzeichnis und Vergabe von Rechten und gleichzeitig auch die Anpassung.
cp /etc/php5/cgi/php.ini /var/www/vhosts/owncloud/conf/
chown owncloud:owncloud /var/www/vhosts/owncloud/conf/php.ini chmod 440 /var/www/vhosts/owncloud/conf/php.ini
nano /var/www/vhosts/owncloud/conf/php.ini
open_basedir = "none" max_execution_time = 60 memory_limit = 512M post_max_size = 1024M upload_tmp_dir = "/var/www/vhosts/owncloud/tmp" upload_max_filesize = 1024M session.save_path = "/var/www/vhosts/owncloud/tmp"
Script für fcgid anlegen
cat > /var/www/vhosts/owncloud/cgi-bin/php5-default/php-fcgi-wrapper << EOF #!/bin/sh PHP_INI_SCAN_DIR=/var/www/vhosts/owncloud/conf export PHP_INI_SCAN_DIR export PHPRC=/var/www/vhosts/owncloud/conf export PHP_FCGI_CHILDREN=1 export PHP_FCGI_MAX_REQUESTS=5000 exec /usr/bin/php5-cgi EOF
Rechte vergeben
chown owncloud:owncloud /var/www/vhosts/owncloud/cgi-bin/php5-default/php-fcgi-wrapper
Ausführbar machen chmod 750 /var/www/vhosts/owncloud/cgi-bin/php5-default/php-fcgi-wrapper
Immutable Bit setzen, damit die Datei nicht mehr einfach geändert werden kann chattr +i -V /var/www/vhosts/owncloud/cgi-bin/php5-default/php-fcgi-wrapper
SSL Einrichten
cd /var/www/vhosts/owncloud/cert
Privaten RSA Schlüssel erstellen
openssl genrsa -out server.key 1024
Einen Cert Signing Request erstellen
openssl req -new -key server.key -out server.csr
SSL Zertifikat ausstellen und selbst signieren. Hier sollte man "Country Name" z.B. DE, "Organization Name" z.B. Meine Cloud und "Common Name" die IP oder Domain Namen vergeben. Common Name ist ein muss und die anderen Sachen können frei bleiben. Es ist aber ratsam wenigstens noch bei Organization Name etwas festzulegen.
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Wenn noch nicht geschehen, dann noch schnell das Apache2 SSL Modul aktivieren
a2enmod ssl
Virtuellen Host aktivieren
a2ensite owncloud
Apache Service neustarten
service apache2 reload
Owncloud laden und installieren
cd /var/www/vhosts/owncloud/htdocs/
Den Server die aktuelle Version von Owncloud laden lassen
wget https://download.owncloud.org/community/owncloud-7.0.1.tar.bz2
Entpacken
tar -xjf owncloud-7.0.1.tar.bz2
Archiv wieder löschen
rm owncloud-7.0.1.tar.bz2
Die zuvor entpackten Dateien ohen owncloud Verzeichnis ind den htdocs Ordner unseres Owncloud Servers kopieren
mv owncloud/* /var/www/vhosts/owncloud/htdocs/
Den nun leeren owncloud Ordner wieder löschen
rm -R owncloud/
Neuen Kommentar schreiben