みなさんこんにちは。Dropboxの容量がやばげな @nullpopopo でございます。2015年2月9日にowncloud 8.0がリリースされたので、CentOS7にインストールしてみました。owncloudのコミュニティからリポジトリをインストールすると最新版のパッケージをyumでインストールできるので、試してみてください。
owncloudのyumリポジトリ インストール
curlでリポジトリのファイルを取得します。
$ cd /etc/yum.repos.d/ $ sudo curl -O http://download.opensuse.org/repositories/isv:/ownCloud:/community/CentOS_CentOS-7/isv:ownCloud:community.repo
CentOS7以外のリポジトリは、ここから辿って確認してください。
remiリポジトリ インストール
CentOS7の標準リポジトリにあるPHPは5.4系なので、remi-php56からインストールを行うようにします。
$ sudo yum -y install http://remi.kazukioishi.net/enterprise/remi-release-7.rpm
gd-lastインストール
php-gdが依存するgd-lastをremiリポジトリからインストールします。
$ sudo yum -y --enablerepo=remi install gd-last
PHPインストール
owncloudが依存するPHPをremi-php56リポジトリからインストールします。php-mysqlnd をインストールしないと、owncloudインストール画面でsqliteしか選択できなくなるので、忘れずにインストールしましょう。
$ sudo yum -y --enablerepo=remi-php56 install php php-cli php-common php-gd php-ldap php-mbstring php-pdo php-process php-xml php-mysqlnd
mysql-communityリポジトリ インストール
CentOS7の標準MySQLライブラリはmariadb-5.5なので、MySQLのコミュニティ版からインストールを行うようにします。
$ sudo yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
mysql-community-serverインストール
mysql-community-serverをインストールすることでmysql-community-clientとmysql-community-clientがそれぞれmariadbとmariadb-libsを置き換えます。
$ sudo yum -y install mysql-community-server
owncloudインストール
yumでさっくりインストールしてしまいましょう。
$ sudo yum -y install owncloud
httpd.conf設定
ここでは最低限の設定を行います。httpd.confで /var/www/html ディレクトリのOprions設定にIndexesがあるので、これを削除します。使い慣れたエディタで
<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
を
<Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Require all granted </Directory>
にするか、次のワンライナーたちで一撃置換してしまいましょう。なお、 /etc/httpd/conf.d/owncloud.conf で「AllowOverride All」しているので、httpd.confのAllowOverrideはNoneのままにしておきます。
$ HTTPDCONF=/etc/httpd/conf/httpd.conf $ sudo cp -p ${HTTPDCONF} ${HTTPDCONF}.orig $ HTTPDCONFLINE=$(wc -l ${HTTPDCONF} | awk '{print $1}') $ HTTPDCONFNUM=$(cat -n ${HTTPDCONF} | egrep -A ${HTTPDCONFLINE} '(<Directory[[:space:]]*"/var/www/html">)' | \ egrep -m 1 -B ${HTTPDCONFLINE} '(</Directory>)' | egrep '(Options)' | egrep -v "#" | awk '{print $1}') $ sudo sed -i "${HTTPDCONFNUM}s/Options[[:space:][:alnum:]]*/Options FollowSymLinks/" ${HTTPDCONF}
welcome.confの無効化
welcome.confがあると403エラーで余計な情報を表示してしまうので無効化します。
$ sudo mkdir -p /etc/httpd/conf.d/BACKUP $ sudo mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/BACKUP/
Apacheのreloadと自動起動設定
ここまでhttpd.confに設定した内容を反映させるため、Apacheを再読み込みします。CentOS7(というよりsystemd?)はApacheがyumでインストールされるといきなり起動してしまうので、初回起動であってもreloadします。
$ sudo systemctl reload httpd.service $ sudo systemctl enable httpd.service
mysqld起動と自動起動設定
$ sudo systemctl start mysqld.service $ sudo systemctl enable mysqld.service
mysqld初期設定
mysql_secure_installationコマンドでmysqlサーバーの初期設定を行います。ここだけ対話式コマンドなので、一撃シェルスクリプトにする場合は、過去ブログを参考にmysqlコマンドで行ってください。
$ mysql_secure_installation Enter current password for root (enter for none): 空エンター Set root password? [Y/n] y New password: (表示されない) Re-enter new password: (表示されない) Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
owncloud用DB作成とユーザー作成
owncloud用のDBの文字コードをUTF-8で作成し、DB接続ユーザーを作成します。
$ ROOTPW=HOGEHOGEPASSWORD $ DBNAME=ownclowd $ DBUSER=clowdown $ DBUSERPW=P@sSw0rD $ mysql -u root -p${ROOTPW} -e "CREATE DATABASE ${DBNAME} DEFAULT CHARACTER SET utf8;" $ mysql -u root -p${ROOTPW} -e "GRANT ALL PRIVILEGES ON ${DBNAME}.* TO ${DBUSER}@localhost IDENTIFIED BY \"${DBUSERPW}\";" $ mysql -u root -p${ROOTPW} -e "FLUSH PRIVILEGES;"
firewall穴あけ
firewall-cmdコマンドでTCP/80の穴をあけます。
$ sudo firewall-cmd --zone=public --add-service http $ sudo firewall-cmd --zone=public --add-service http --permanent
sshでの作業は以上です。
owncloud設定
ブラウザで http://〜〜〜/owncloud/ を開いて以下の順に作業します。
- 1. 「管理者アカウントを作成してください」でユーザー名とパスワードを入力する
ユーザー名: nullpopopo
パスワード: 自分で決めたもの
- 2. 「データベースを設定してください」で「MySQL/MariaDB」をクリックする
↓
- 3. 以下の項目を入力する
データベースのユーザー名: clowdown
データベースのパスワード: P@sSw0rD
データベース名: ownclowd
(データベースのホストはlocalhostのまま)
以上を入力してから「セットアップを完了します」をクリックし、初回ウィザードが表示されればOKです。ね、簡単でしょう?
[amazonjs asin="4798041866" locale="JP" title="はじめてのCentOS7 Linuxサーバ構築編 (TECHNICAL MASTER)"]