以前のブログ投稿の1つで、CentOS 6 VPSにownCloudをインストールする方法について説明しましたが、今日は、自動化されたbashスクリプトを使用してUbuntu12.04サーバーにownCloudをインストールする方法を説明します。
#!/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" スクリプトは何をしますか?
- スクリプトがrootとして実行されているかどうかを確認します
- 引数の数が正しいかどうかを確認します
- MySQLデータベースを作成する
- データベースが作成されているかどうかを確認します
- VirtualHost構成でファイルを作成します
- 必要なPHPモジュールをインストールする
- ownCloudの最新バージョンをダウンロードして解凍します
- 所有者を設定し、サイトを有効にして、Apacheを再起動します
- データベース名、ユーザー、パスワードを表示します
上記のスクリプトをinstallOwncloud.shとして保存します (まだ行っていない場合)、「YOUR MYSQL ROOTPASSWORD」をMySQLrootパスワードに変更してから、次のコマンドを入力します。
a+x installOwncloud.sh ./installOwncloud.sh your.domainname.com
最後に、Webブラウザーを開き、ownCloudインスタンスに移動します
このスクリプトはDebianでも動作するはずです。
PS。 この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。