QuiXplorer unter Debian Linux
Ziel
Ziel ist es einen eigenen Vhost zu konfigurieren mit dem es möglich ist via QuiXplorer Dateien mit anderen Usern via Webinterface auszutauschen.
Requirements
- Debian Linux
- Apache HTTPd
- PHP5
- Domain oder Subdomain
Where to get?
Download des neusten QuiXplorer Paketes:
Hier am Besten das neuste Stable Zip File herunterladen.
Apache & PHP Konfigurieren
zuerst einen neuen vhost anlegen: /etc/apache2/sites-available/domain.name.de
<VirtualHost *:80> ServerAdmin webmaster@domain.de ServerName domain.name.de DocumentRoot /srv/httpd/vhosts/domain.name.de/htdocs/ ErrorDocument 403 http://domain.name.de ErrorDocument 404 http://domain.name.de #php_admin_value safe_mode off <Directory /srv/httpd/vhosts/domain.name.de/htdocs/> Options -Indexes FollowSymLinks -Includes -MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/domain.name.de-error.log CustomLog /var/log/apache2/domain.name.de-access.log combined # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn </VirtualHost>
dann diesen mit folgendem Befehl aktivieren:
a2ensite domain.name.de
Nun sollten noch ein paar Änderungen am PHP vorgenommen werden.
In meinem Fall ist das PHP und der Apache gehärtet, mehr Dazu hier:
Hardening Apache HTTPd und PHP
Folgendes ist wichtig damit der Upload auch von großen Dateien geht (hier 1GB):
/etc/php5/apache2/php.ini
; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/open-basedir open_basedir = /srv/httpd/:/srv/php-tmp/ ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). upload_tmp_dir = /srv/php-tmp/ ; Maximum allowed size for uploaded files. upload_max_filesize = 1024M ; Maximum size of POST data that PHP will accept. post_max_size = 1024M
Zu guter Letzt noch den Apache durchstarten:
/etc/init.d/apache2 restart
QuiXplorer installieren & konfigurieren
zum installieren einfach das heruntergeladene Zip file nach /srv/httpd/vhosts/domain.name.de/htdocs/ kopieren und entpacken:
unzip quixplorer*.zip
nun noch die unötigen Dateien löschen:
rm readme.txt license.txt release.txt
Achtung, wenn das PHP Hardening aktiviert ist, sollte die Gruppe aller files auf die Gruppe www-data geändert werden: z.B.:
chown -R root.www-data /srv/httpd/vhosts/domain.name.de/htdocs/ chmod 775 /srv/httpd/vhosts/domain.name.de/htdocs/.config/.htusers.php
So nun noch das Datei Homeverzeichnis anlegen. Dieses Verzeichnis ist dann das Standard Verzeichnis für alle User, es kann aber bei den Benutzern auch willkürlich geändert werden.
mkdir /srv/httpd/transfer chmod 775 /srv/httpd/transfer chown root.www-data /srv/httpd/transfer
Um das ganze nun zu konfigurieren sollte die Datei /srv/httpd/vhosts/domain.name.de/htdocs/.config/conf.php editiert werden. Hier mal nur die Änderungen die wichtig sind:
// login to use QuiXplorer: (true/false) $GLOBALS["require_login"] = true; // language: (en, de, es, fr, nl, ru) $GLOBALS["language"] = "de"; // the home directory for the filemanager: (use '/', not '\' or '\\', no trailing '/') $GLOBALS["home_dir"] = "/srv/httpd/transfer"; // the url corresponding with the home directory: (no trailing '/') $GLOBALS["home_url"] = "http://domain.name.de";
So nun sollte der QuiXplorer unter folgender URL einen Loginbildschirm bringen:
- http://domain.name.de
der Administrator Account ist wie folgt:
admin
mit folgendem Standard Kennwort:
pwd_admin
Nach dem Einloggen sollte man dieses als erstes unter Administration ändern. Hier sieht man auch gleich wie man andere User anlegen kann.
Nun sollte man bequem Dateien mit anderen Leuten austauschen können.
Quixplorer und SSL
Will man den Quixplorer mit SSL nutzen muss folgendes in der .config/conf.php hinzugefügt werden:
// Enable SSL $GLOBALS["script_name"] = "https://".$GLOBALS['__SERVER']['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"];
Achtung!!! Der Quixplorer kann entweder SSL oder NONSSL beides parallel geht nicht.