ownCloud 設定 · 4 min read · Jan 22, 2026
あなたのクラウド、あなたのデータ、あなたの方法! - ownCloud 4.0 CentOS 6.2 + nginx + PostgreSQL
あなたのクラウド、あなたのデータ、あなたの方法! - ownCloud 4.0 CentOS 6.2 + nginx + PostgreSQL
この文書は、CentOS 6.2 ベースのウェブサーバーに tar パッケージから ownCloud を “ownCloud コミュニティ” によってインストールし、設定する方法を説明します。バックエンドとして nginx と php-fpm、PostgreSQL データベースを使用します。他のディストリビューションでは、ソフトウェアの前提条件のインストール手順に若干の変更があるかもしれません。このガイドは、製品のインストールを助けるだけでなく、特定のポイントがそのように行われる理由を理解するのにも役立ちます(これは、私のように Linux の使用を始めたばかりの知識がほとんどないユーザーにとって非常に役立ちます)。
ownCloud とは?
それは、ファイル / 連絡先 / カレンダーの共有ツールで、私の視点からは Dropbox と GroupOffice の両方の利点を最大限に活用しており(現時点ではメール統合を除く)、Alfresco や Sharepoint のように煩雑でも重くもありません。
開発者のいくつかのセクションへのリンク:
- 製品ホームページ: http://owncloud.org/
- IRC: http://webchat.freenode.net/?channels=owncloud
- サポート: http://owncloud.org/support/
私は、後でソフトウェアに変更が加えられる可能性があるため、あなたにとって機能することを保証するものではありません。前提条件とメインの両方が、チュートリアルで述べた手順を正常に完了できないように壊れる可能性があります。
P.S. 追加されたバグは私のものです。コメントを使用するか、IRC をブラウズしてください。
予備ノート
このチュートリアルでは、次のものを使用します:
- Centos 6.2 インストールメディア
- ホスト名: owncloud.example.com
- IP アドレス: 192.168.1.100
- ルーターアドレス: 192.168.1.1
- ネットマスク: 255.255.255.0
- サーバーがパブリックインターネットに接続されていると仮定します(想像してください)
- サーバーを ssh 経由でリモートで管理するためにコンピュータを使用します(Windows の putty)、サーバーがそばにあっても、またはメインのオペレーティングシステムの下で実行されている仮想マシンとして持っていても
- GNU vim を主なテキストエディタとして使用します。ただし、他の好きなものを自由に使用してください。
要件
Centos 6.2 の動作するクリーン(最小)インストールが必要です(x86 または x86_64 は関係ありません)。私は個人的に x86_64 バージョンを使用しており、あなたも同様にすることを強くお勧めします。
最初のステップ
サーバーコンソールに root としてログインします。あなたは [root@owncloud ~]# プロンプトにいます。
私は、完全にオプションですが、後で役立つかもしれない特定の設定を好みます。私は、プロンプトで日付、時刻、サーバー名、現在のフォルダーを表示するようにターミナルを設定しています。また、日付/時刻付きのコマンドの履歴を表示するようにしています。デフォルトの履歴サイズの値も増やします。
そのためには、次のコマンドを実行します:
vi ~/.bash_profileエクスポート PATH ディレクティブの後に前述の行を追加します。挿入モードに入るには「i」を押し、終了するには「ESC」を押します。Vi は vi です :)
# 50,000 コマンドを保持し、ファイルサイズを 10 倍大きくするための履歴サイズ
export HISTSIZE=50000
export HISTFILESIZE=500000
# 日付付きの履歴を表示する例: "24.05.2012 - 14:28:56"
export HISTTIMEFORMAT="%d.%m.%Y - %H:%M:%S "
# "ls" コマンドの出力を自動的に色付け
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
# プロンプトを次のように表示するように設定: "Thu May 24 2012 14:28:56 owncloud.example.com of root @ ~]"
# 日付、時刻、場所を異なる色で表示します。すべての入力テキストをデフォルト値に設定します。
PS1="\e[1;37m\][\e[1;36m\] \d \D{%Y} \e[1;31m\]\t \e[1;37m\] \H of \u @ \W] \033[00m\]"ファイルを保存して終了します。再度、挿入モードの外で、”:wq” と入力して Enter を押すことで保存して終了するか、単に “ZZ” を押して同じことを行います。変更を適用するためにターミナルに再ログインするには、次のコマンドを実行します:
exitネットワーキング
インストール中に静的 IP アドレスを設定しなかった場合、DHCP 対応のルーターがあると仮定して、今すぐ設定する必要があります。そうでない場合は、次のステップに進んでください。
vi /etc/sysconfig/network-scripts/ifcfg-eth0前述の行のみを変更または追加します。
BOOTPROTO="none"
NETWORK="192.168.1.0"
NETMASK="255.255.255.0"
IPADDR="192.168.1.100"
GATEWAY="192.168.1.1"保存して終了します。その後、ネットワークを再起動します:
service network restart次のコマンドを実行してネットワークが再構成されたことを確認します:
ifconfigこれで、root として 192.168.1.100 のサーバーに ssh できるようになりました。しかし、まだそれを行わないでください。まず次のステップを完了してください。
サーバーのセキュリティ
さらに進む前に、サーバーが実際にインターネットに接続されていると仮定したため、セキュリティを強化する必要があります。3 つのことを行います。
- ssh サーバーを再構成して root ログインを許可せず、デフォルトのポート 22 を他の一般的でないポート、すなわち 60606 に変更します。
- 新しいポートでの受信接続を許可するように iptables を設定します。
- ssh 経由でログインするための最初のシステムユーザーを追加します。
リモートログインのセキュリティ
コンソールからサーバーにまだログインしていない場合(つまり、ローカルコンソール、まだ ssh ではない)、root としてログインし、次のコマンドを実行します:vi /etc/ssh/sshd_config
変更されていないデフォルトファイルの 13 行目に Port 22 ディレクティブがあります。これを複製し、ポート番号を 60606 に変更してコメントを外します。
次に、PermitRootLogin yes ディレクティブを見つけ(挿入モードの外で「/」を押して探しているフレーズを入力します)、再度複製し、その値を no に変更してコメントを外し、ファイルを保存します。ああ、ハイライトをオフにするには”:noh”です。
その後、sshd を再起動します:
service sshd restartiptables の設定
まず、既存の iptables を確認します:iptables -L -v --line-numbers
デフォルトインストールでは、位置 ‘4’ にデフォルトの ssh ポートで新しい tcp 接続を受け入れるディレクティブがあります。これを削除する必要があるため、次のコマンドを実行します:
iptables -D INPUT 4次に、ポート 60606 への接続を許可する必要があります。次のコマンドを実行します:
iptables -I INPUT 4 -p tcp -d 192.168.1.100 --dport 60606 -j ACCEPT最後に、現在の iptables 状態を保存するには、次のコマンドを実行します:
service iptables save
service iptables restart最初のユーザーの追加
すべてが良好ですが、1 つだけ問題があります。root が許可されておらず、他のシステムユーザーがまだいないため、ssh から自分自身を禁止してしまいました。修正する時が来ました:useradd -c "ownCloud system user" -m -n cloudadmin
このユーザーのパスワードを設定します:
passwd cloudadmin完了しました。最初のコマンドでユーザーのパスワードを設定できますが、この方法では、ターミナルウィンドウでの入力中にパスワードの値が表示され、root ユーザーの .bash_history にも保存されるため、望ましくありません。
これで、ローカルコンピュータのターミナルウィンドウで次のコマンドを実行して ssh 経由でログインできます:
ssh [email protected] -p60606事前設定ステップ
ソフトウェアのインストールはほとんどの場合非常に簡単で、初期インストール時にほとんどを「チェック」できましたが、私は手作業で行うことを好みます。
インストールをセクションに分けることに意図的にしています。
スーパーユーザーとしてのログイン
この時点で、あなたは cloudadmin ユーザーとしてコンソールプロンプトにいるはずです。root 権限を取得するには、次のコマンドを実行します:
su -ソフトウェアリポジトリ
希望するソフトウェアを使用するには、2 つのリポジトリが必要です。
最初は EPEL です。次のコマンドを実行します:rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-6.noarch.rpm
いいえ、i386 は間違いではありません。32 ビットと 64 ビットシステムの両方で同じです。
次に Remi を実行します:
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm次に、両方の epel と remi リポジトリを確認し、そこにない場合は、次のコマンドを実行して enabled=1 を設定します:
vi /etc/yum.repos.d/epel.repo
vi /etc/yum.repos.d/remi.repo最後に、システムを更新します。新しくインストールされた CentOS でも、最初に更新が必要な場合があります。次のコマンドを実行します:
yum update -y精密な時間
世界の他の部分と同期することは良いことです。次のコマンドを実行します:
yum install ntp service ntpd start chkconfig ntpd on ntpdその他のツール
私の生活を少し楽にするために、私は vi の代わりに vim、top の代わりに htop、ターミナル内からすぐにテストするために elinks、良いデュアルペインファイルマネージャーとして mc、wget はダウンロードに必要で、man はほぼすべてを読むときに必要です。次のコマンドを実行します:
yum install vim htop elinks mc wget man -y
ownCloud セットアップ
ソフトウェアの前提条件
一連の php 関連のものをインストールします。次のコマンドを実行します:yum install php-fpm php-gd php-ldap php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-shout php-snmp php-soap php-tidy php-pgsql
php.ini を編集します。次のコマンドを実行します:
vim /etc/php.ini変更すべきディレクティブは 4 つあります。
最初は 736 行目にある post_max_size ディレクティブです。
次は 848 行目にある cgi.fix_pathinfo ディレクティブです。
3 番目は 885 行目にある upload_max_filesize ディレクティブです。
最後は 956 行目にある date.timezone で、サーバーの場所に応じて変更します。
[...]
post_max_size = 64M
[...]
cgi.fix_pathinfo = 0
[...]
upload_max_filesize = 64M
[...]
date.timezone = "Europe/Prague"
[...]方法がわからない場合は、次のコマンドを実行してタイムゾーン名を見つけることができます:
cat /etc/sysconfig/clock次に、php-fpm を unix ソケットを使用するように構成します。次のコマンドを実行します:
vim /etc/php-fpm.d/www.conf12 行目から次のようにします:
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sockphp-fpm を起動します:
chkconfig php-fpm on
service php-fpm startバックエンド - PostgreSQL
インストールして設定するには、次のコマンドを実行します:yum install postgresql postgresql-libs postgresql-server service postgresql initdb service postgresql start chkconfig postgresql on
postgres システムユーザーとして postgres にログインし、データベースユーザー、データベースを作成し、権限を付与します:
su - -c "psql" postgres
CREATE USER clouduser WITH PASSWORD 'userpass';
CREATE DATABASE clouddb OWNER clouduser ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE clouddb TO clouduser;
\qパスワードログインを許可するように postgresql 設定ファイルを変更します:
vim /var/lib/pgsql/data/pg_hba.conf次の行を探します:
# IPv4 local connections: host all all 127.0.0.1/32 identそれを次のように変更します:
# IPv4 local connections: host all all 127.0.0.1/32 password
データベースを再起動します:
service postgresql restartnginx ウェブサーバー
インストールし、ブート時に開始するように設定し、その後停止します:yum install nginx service nginx start chkconfig nginx on service nginx stop
owncloud ウェブサイトのための設定ファイルを準備します:
vim /etc/nginx/conf.d/owncloud.conf# http を https にリダイレクトします。
server {
listen 80;
server_name owncloud.example.com;
rewrite ^ https://$server_name$request_uri? permanent; # https を強制します
}
# owncloud (ssl/tls)
server {
listen 443 ssl;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
server_name owncloud.example.com;
root /var/www/owncloud;
index index.php;
client_max_body_size 64M; # 最大アップロードサイズを設定
# 直接アクセスを拒否
location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}
# デフォルトの試行順
location / {
try_files $uri $uri/ @webdav;
}
# owncloud WebDAV
location @webdav {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
include fastcgi_params;
}
# php を有効にする
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
include fastcgi_params;
}
}サーバーの証明書を作成しましょう。プロンプトの質問に設定に応じて答えます:
mkdir -p /etc/nginx/certs/
cd /etc/nginx/certs/
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.orig
openssl rsa -in server.key.orig -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt新しい設定を有効にするために nginx をリロードします:
service nginx reloadownCloud のファイルとディレクトリ
ownCloud のインストールは、アーカイブをダウンロードして解凍し、サーバー側でいくつかの調整を行うことから成ります。そのため、次のコマンドを実行します:cd /tmp wget http://download2.owncloud.org/releases/owncloud-4.0.0.tar.bz2 tar xjf owncloud-4.0.0.tar.bz2 mv owncloud /var/www/ mkdir -p /var/www/owncloud/data chmod 770 /var/www/owncloud/data chown -R root:apache /var/www/owncloud
そして、最後のコマンドの apache グループはエラーではありません。php-fpm はデフォルトで apache ユーザーとして実行されます。
ウェブサイトへのアクセス
ウェブサイトにアクセスできるようにポート 443 を開きます。次のコマンドを実行します:iptables -I INPUT 4 -p tcp -d 192.168.1.100 --dport 443 -j ACCEPT service iptables save service iptables restart
テスト実行
ブラウザで https://owncloud.example.com にアクセスし、インストール手順を完了します。
管理者のユーザー名とパスワードを選択し、データベースバックエンドとして PostgreSQL を選択し、データベース接続設定に適切な値を入力します。
楽しんでください。
トラブルシューティング
ログファイルは次の場所にあります:
/var/www/owncloud/data/owncloud.log
/var/log/php-fpm/www-error.log
/var/log/nginx/access.log
/var/log/nginx/error.log
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。