V jednom z našich předchozích blogových příspěvků jsme se zabývali tím, jak nainstalovat ownCloud na CentOS 6 VPS, dnes uvidíme, jak nainstalovat ownCloud na server Ubuntu 12.04 pomocí automatického bash skriptu.
#!/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" Co skript udělá?
- Zkontrolujte, zda je skript spuštěn jako uživatel root
- Zkontrolujte, zda je počet argumentů správný
- Vytvořte databázi MySQL
- Zkontrolujte, zda je databáze vytvořena
- Vytvořte soubor s konfigurací VirtualHost
- Nainstalujte potřebné moduly PHP
- Stáhněte si a extrahujte nejnovější verzi ownCloud
- Nastavte vlastníka, povolte web a restartujte Apache
- Zobrazit název databáze, uživatele a heslo
Uložte skript výše jako installOwncloud.sh (pokud jste to ještě neudělali), změňte „VAŠE KOŘENOVÉ HESLO MYSQL“ na své kořenové heslo MySQL a poté zadejte následující příkazy:
a+x installOwncloud.sh ./installOwncloud.sh your.domainname.com
Nakonec otevřete webový prohlížeč a přejděte do své instance ownCloud
Tento skript by měl fungovat i v Debianu.
PS. Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.