Installer l'outil de partage de fichiers Open Upload sur Debian
Open Upload est une implémentation libre des systèmes de partage de fichiers tels que MegaUpload, Rapidshare, Mediafire, YouSendIt, etc... Il permet d'échanger facilement des fichiers volumineux. C'est une alternative utile à l'échange de fichiers par e-mail.
Ce guide est testé sur:
- Debian 6.0 Squeeze
Ce guide est testé avec ces versions d'Open Upload:
- 0.4.2
Prérequis
Ce guide nécessite :
- un serveur MySQL, comme décrit par Installer et configurer MySQL sur Debian.
- un serveur HTTP avec support du PHP, comme décrit par Installer PHP-FPM sur Debian.
- le cache d'OpCode PHP APC, comme décrit par Installer l'extention PHP APC sur Debian.
- l'outil mysql-tools d'administration simplifiée de MySQL sur l'hôte local (et l'hôte du serveur MySQL, si différent).
Ce guide nécessite l'un des outils ci-dessous, suivant le serveur HTTP choisi:
- a2tools disponible dans Installer et configurer Apache 2 sur Debian.
- lighty-tools disponible dans Installer et configurer Lighttpd sur Debian.
Paramètres
Renseignez le nom de domaine où sera disponible l'application:
DOMAIN="fichiers.domaine-exemple.fr"
Renseignez le nom d'hôte du serveur MySQL:
MYSQL_HOST="localhost"
Si le serveur MySQL n'est pas local, l'outil mysql-tools essaiera de s'y connecter avec le client MySQL, ou, en cas d'échec de connexion, via une connexion SSH.
Installation
Déterminez le chemin d'installation:
INSTALL_PATH="/opt/openupload/${DOMAIN}"
Assurez-vous que le dossier parent existe:
PARENT_PATH="$(command dirname "${INSTALL_PATH}")"
if [ ! -e "${PARENT_PATH}" ]; then
command mkdir --parent "${PARENT_PATH}"
fi
Préparation de l'environnement
Installez les logiciels nécessaires:
command apt-get install php5-mysql php5-gd
Adaptez la configuration PHP aux besoins de l'outil:
command php-tools --for="open-upload" --set "upload_max_filesize" "750M"
command php-tools --for="open-upload" --set "post_max_size" "750M"
Rechargez la configuration de PHP:
test -x /etc/init.d/php5-fpm && /etc/init.d/php5-fpm force-reload
test -x /etc/init.d/apache2 && /etc/init.d/apache2 force-reload
test -x /etc/init.d/lighttpd && /etc/init.d/lighttpd force-reload
test -x /etc/init.d/nginx && /etc/init.d/nginx force-reload
Mise en place de l'application
Téléchargez les sources de la dernière version à l'aide du script sf-downloader:
command mkdir --parent '/opt/bin'
command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/opt/bin/sf-downloader'
command chmod +x '/opt/bin/sf-downloader'
SOURCE="$(/opt/bin/sf-downloader --tgz openupload openupload-VERSION.tar.gz)"
Déplacez le dossier de l'application vers son emplacement final:
command mv "${SOURCE}" "${INSTALL_PATH}"
Corrigez le fichier ".htaccess" dans le cas où le serveur Apache 2 n'utilise pas mod_php5 :
command echo "<IfModule mod_php5.c>
$(command cat "${INSTALL_PATH}/www/.htaccess")
</IfModule>" > "${INSTALL_PATH}/www/.htaccess"
Conformité avec la LSB
Ajustez l'application pour obtenir une meilleure conformité avec la LSB:
command chown -R root:root "${INSTALL_PATH}" command mkdir --parent "/var/lib/openupload" command mv "${INSTALL_PATH}/data" "/var/lib/openupload/${DOMAIN}" command ln -s "/var/lib/openupload/${DOMAIN}" "${INSTALL_PATH}/data" command chown -R www-data:www-data "/var/lib/openupload/${DOMAIN}" command mkdir --parent "/var/cache/openupload" command mv "${INSTALL_PATH}/templates_c" "/var/cache/openupload/${DOMAIN}" command ln -s "/var/cache/openupload/${DOMAIN}" "${INSTALL_PATH}/templates_c" command chown -R www-data:www-data "/var/cache/openupload/${DOMAIN}" command chown www-data:www-data "${INSTALL_PATH}/www"
Configuration
Créez la base de données avec mysql-tools:
MYSQL_PARAMS="$(command mysql-tools --server="${MYSQL_HOST}" --with-ssh \
--auto-hosts --db-prefix="open-upload" --create "${DOMAIN}")"
Récupérez les paramètres de la nouvelle base de données, et notez les précieusement:
echo "${MYSQL_PARAMS}"
Créez la configuration du serveur HTTP pour votre domaine:
if [ -x "/usr/bin/a2tools" ]; then command a2tools --overrides="Options" "${DOMAIN}" "${INSTALL_PATH}/www" fi if [ -x "/usr/bin/lighty-tools" ]; then command lighty-tools add-vhost "${DOMAIN}" "${INSTALL_PATH}/www" fi
L'application est maintenant accessible sur le nom de domaine.
Initialisation
Terminez l'installation de votre application en visitant l'URL fournie par:
command echo "http://${DOMAIN}/"
Configurez l'application.
Sécurisation
Une fois l'installation terminée, retirez les permissions nécessaires à la configuration:
command chown -R root:root "${INSTALL_PATH}/www"
Sauvegardes
Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):
command backup-manager-tools add "${INSTALL_PATH}" command backup-manager-tools add "/var/lib/openupload/${DOMAIN}"
N'oubliez pas de sauvegarder la base de données (voir Installer et configurer MySQL sur Debian).
Mise à jour de l'outil
Renseignez le domaine de l'application:
DOMAIN="fichiers.domaine-exemple.fr"
Déterminez le chemin d'installation:
INSTALL_PATH="/opt/openupload/${DOMAIN}"
Téléchargez les sources de la dernière version à l'aide du script sf-downloader:
command mkdir --parent '/opt/bin'
command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/opt/bin/sf-downloader'
command chmod +x '/opt/bin/sf-downloader'
SOURCE="$(/opt/bin/sf-downloader --tgz openupload openupload-VERSION.tar.gz)"
Récupérez les données de l'installation mise à jour:
command rm -r "${SOURCE}/data" command cp -a "${INSTALL_PATH}/data" "${SOURCE}" command rm -r "${SOURCE}/templates_c" command cp -a "${INSTALL_PATH}/templates_c" "${SOURCE}" command cp -a "${INSTALL_PATH}/www/config.inc.php" "${SOURCE}/www"
Corrigez le fichier ".htaccess" dans le cas où le serveur Apache 2 n'utilise pas mod_php5 :
command echo "<IfModule mod_php5.c>
$(command cat "${SOURCE}/www/.htaccess")
</IfModule>" > "${SOURCE}/www/.htaccess"
Sauvegardez l'ancienne installation:
if [ -e "${INSTALL_PATH}.old" ]; then
command rm -r "${INSTALL_PATH}.old"
fi
command mv "${INSTALL_PATH}" "${INSTALL_PATH}.old"
Déplacez le dossier de l'application vers son emplacement final:
command mv "${SOURCE}" "${INSTALL_PATH}"
Vérifiez que tout fonctionne correctement et supprimez la sauvegarde de l'ancienne installation :
command rm -r "${INSTALL_PATH}.old"
Remerciements
- Merci aux développeurs de Open Upload (en).