Dans l'un de nos précédents articles de blog, nous avions expliqué comment installer ownCloud sur un VPS CentOS 6, aujourd'hui nous verrons comment installer ownCloud sur un serveur Ubuntu 12.04 à l'aide d'un script bash automatisé.
#!/bin/bash
#
# Install owncloud
# This script assumes you already have installed Apache & MySQL
#
# Change me
MYSQL_ROOT_PASSWD="YOUR MYSQL ROOT PASSWORD"
# Path to your localhost
www="/var/www"
# Apache User
wwwdata="www-data"
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# Check arguments
if [ $# -ne 1 ]; then
echo "Usage $0 domainName"
exit 1
fi
# Create MySQL database
MYSQL_OC_PASSWD=$(</dev/urandom tr -dc A-Za-z0-9 | head -c 8)
Q1="CREATE DATABASE IF NOT EXISTS owncloud;"
Q2="GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY '$MYSQL_OC_PASSWD';"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"
mysql -uroot -p$MYSQL_ROOT_PASSWD -e "$SQL" > /dev/null 2>&1
# Check if the database is created
if [ $? -ne 0 ]; then
echo "Cannot connect to the MySQL database server"
exit 1
fi
# Create the file with VirtualHost configuration
echo "<VirtualHost *:80>
DocumentRoot $www/owncloud
ServerName $1
ServerAlias $1
<Directory $www/owncloud>
Options Indexes FollowSymLinks MultiViews +Includes
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>" > /etc/apache2/sites-available/$1
# Update System
apt-get -y update > /dev/null 2>&1
# Install PHP modules
apt-get -y install php5 php5-json php-xml php-mbstring php5-zip php5-gd php5-sqlite php5-mysql curl libcurl3 libcurl3-dev php5-curl php-pdo > /dev/null 2>&1
# Download and extract the latest version
wget -qO- -O tmp.tar.bz2 http://owncloud.org/releases/owncloud-latest.tar.bz2 && tar -C $www -xjf tmp.tar.bz2 && rm tmp.tar.bz2
# Set owner
chown $www-data: -R $www/owncloud
# Enable the site
a2ensite $1 > /dev/null 2>&1
# Reload Apache2
/etc/init.d/apache2 restart > /dev/null 2>&1
# Output
clear
echo "Open your web browser and navigate to your ownCloud instance"
echo "Url: $1"
echo "Database: owncloud"
echo "Database user: owncloud"
echo "Database user password: $MYSQL_OC_PASSWD" Que fera le script ?
- Vérifier si le script est exécuté en tant que root
- Vérifier si le nombre d'arguments est correct
- Créer une base de données MySQL
- Vérifier si la base de données est créée
- Créer le fichier avec la configuration VirtualHost
- Installer les modules PHP nécessaires
- Télécharger et extraire la dernière version d'ownCloud
- Définissez le propriétaire, activez le site et redémarrez Apache
- Vous montrer le nom de la base de données, l'utilisateur et le mot de passe
Enregistrez le script ci-dessus sous installOwncloud.sh (si vous ne l'avez pas déjà fait), remplacez "VOTRE MOT DE PASSE RACINE MYSQL" par votre mot de passe root MySQL, puis tapez les commandes suivantes :
a+x installOwncloud.sh ./installOwncloud.sh your.domainname.com
Enfin, ouvrez votre navigateur Web et accédez à votre instance ownCloud
Ce script devrait également fonctionner sur Debian.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.