Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Gestion de fichiers / Installer l'outil de partage de fichiers Open Upload sur Debian

Installer l'outil de partage de fichiers Open Upload sur Debian

Par Pierre-Yves Landuré Dernière modification 05/05/2014 10:47

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 :

Ce guide nécessite l'un des outils ci-dessous, suivant le serveur HTTP choisi:

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