ownCloud インストール · 2 min read · Jan 23, 2026
CentOS 6.5でSSLとNginxを使用してownCloudをインストールする
CentOS 6.5でSSLとNginxを使用してownCloudをインストールする
バージョン: 3.0
著者: Aaron
CentOSは多くのパッケージをアップグレードしており、私が1年前に書いた投稿は、最新のCentOS 6.5ではもはや機能しません。
私は調査を行い、これが2014年にCentOSでnginx、postgresql、sslを使用してowncloudをインストールする方法についての最初のチュートリアルになるようです。現在、CentOSとowncloudのnginxによるインストールを見つけることはできません。なぜなら、ほとんどの人が簡単な問題を解決する方法を知らないからです。
私のサーバーが影響を受け、これが私が今日この投稿を書く理由です。
EPELおよびCentOSリポジトリのパッケージは古く、nginx、postgresql、owncloudは少し新しいパッケージを必要とします。あなたはファイルにアクセスできず、ログインページに留まることになり、何が起こったのか自問自答することになります。ログファイルは問題の出所を示さず、owncloud自体も示しません。
owncloudの要件は
PostgreSQL >= 9.0ですが、EPELには8.8があり、最小限のphp 5.3.3が必要ですが、そのバージョンでは動作しません。また、これらの新しいパッケージは最新の安定したnginxバージョンを必要とします。
最初に行うべきことは、すべてのmysqlライブラリを削除することです。
yum remove mysql* mysql-server mysql-devel mysql-libs通常通り、epel、remi、そして新しいもの: 最新のpostgresqlのようなサードパーティのリポジトリをインストールします。
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpmrpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpmrpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpmepelリポジトリを編集し、上部がenabled=1であることを確認します。
vi /etc/yum.repos.d/epel.reporemiリポジトリでも同様のことを行いますが、phpバージョン5.6を有効にすることを確認してください。
vi /etc/yum.repos.d/remi.repo

nginxリポの設定ファイルを作成します。
vi /etc/yum.repos.d/nginx.repoそして、次の内容を追加します:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
CentOSサーバーを更新して、これらのサードパーティのリポジトリを追加します。
yum updateowncloudの要件を満たすために、次のパッケージをインストールします:
yum install nginx postgresql93 postgresql93-libs postgresql93-server wget php-fpm php-gd php-ldap php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-shout php-snmp php-soap php-tidy php-pgsql php-pdoPostgreSQLを起動し、nginxを一時的に起動し、chkconfigでシステム起動サービスに追加します。
service postgresql-9.3 initdb
service postgresql-9.3 start
chkconfig postgresql-9.3 on
service nginx start
chkconfig nginx on
service nginx stop新しいPostgreSQLユーザーとデータベースを作成します。
su - -c "psql" postgresCREATE USER cloud WITH PASSWORD 'userpass';
CREATE DATABASE cloudbase OWNER cloud ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE cloudbase TO cloud;
\qタイムゾーンを確認して覚えておきます。
cat /etc/sysconfig/clockphp設定ファイルを編集します。
vi /etc/php.inipost_max_size = 2Gcgi.fix_pathinfo = 0upload_max_filesize = 2Gdate.timezone = "your/timezone"php-fpm設定ファイルを編集して、unixソケットの代わりにtcpを使用します。
vi /etc/php-fpm.d/www.conflistenが/var/run/php-fpm/php-fpm.sockを指していないことを確認します。
listen = 127.0.0.1:9000php-fpmサービスを起動します。
chkconfig php-fpm on
service php-fpm startPostgreSQL設定ファイルを編集して、パスワードログインを許可します:
vi /var/lib/pgsql/9.3/data/pg_hba.confidentをpasswordに変更します - 次の画像のカーソルに注意してください:

PostgreSQLデータベースを再起動します service postgresql-9.3 restart
SSL証明書を保存する空のフォルダーを作成します。
cd /etc/nginx
mkdir -p certapacheの仮想ホストに慣れている場合、次に作成するファイルはまさにそれです。
cd conf.dvi cloud.confupstream php-handler {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
server_name 10.10.10.110; # あなたのドメイン名または内部サーバーIPに置き換えてください
return 301 https://$server_name$request_uri; # httpsを強制
}
server {
listen 443 ssl;
server_name 10.10.10.110; # あなたのドメイン名または内部サーバーIPに置き換えてください
ssl_certificate /etc/nginx/cert/server.crt;
ssl_certificate_key /etc/nginx/cert/server.key;
# インストールのルートへのパス
root /var/www/owncloud/;
client_max_body_size 10G; # 最大アップロードサイズを設定
fastcgi_buffers 64 4K;
rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}
location / {
# 次の2つのルールはwebfingerでのみ必要です
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
try_files $uri $uri/ index.php;
}
location ~ ^(.+?\.php)(/.*)?$ {
try_files $1 = 404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
fastcgi_param HTTPS on;
fastcgi_pass php-handler;
}
# オプション: 静的アセットに長いEXPIRESヘッダーを設定
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# オプション: アセットへのアクセスをログに記録しない
access_log off;
}
}
私はそのnginx設定ファイルを私のウェブサイトにアップロードしましたので、手動で書く代わりに wget http://linux.sytes.net/img/nginx1-6.conf.txt と入力し、cloud.confのような名前に変更してください。
nginxの「仮想ホスト」で指定したように、私たちのownCloudサーバーはSSLを使用するので、これらの証明書を作成しましょう。
cd ..
cd cert
openssl req -x509 -nodes -sha384 -days 3650 -newkey rsa:4096 -keyout server.key -out server.crt
chmod 600 server.key
chmod 600 server.csr次に、owncloudアーカイブをダウンロードして抽出し、owncloudフォルダーの権限を設定します。開発版のowncloudをダウンロードしますのでご注意ください。
cd /var/www
wget http://download.owncloud.org/community/daily/owncloud-daily-master.tar.bz2
tar xjf owncloud-daily-master.tar.bz2
mkdir -p owncloud/data
chmod 770 owncloud/data
chmod 777 owncloud/config/
chown -R root:apache owncloud
rm -rf owncloud-daily-master.tar.bz2サーバーポート80と443への着信tcp接続を許可します。あなたや他の誰かがあなたのサーバーの内部IPを呼び出すと、nginxの「仮想ホスト」で指定したように、https://yourserverinternalipにリダイレクトされます。
iptables -I INPUT 4 -p tcp -d 10.10.10.110 --dport 80 -j ACCEPT
iptables -I INPUT 4 -p tcp -d 10.10.10.110 --dport 443 -j ACCEPTservice iptables save
service iptables restart最後にPostgreSQLを再起動し、新しい設定でnginxを起動します:
service postgresql-9.3 restart
service nginx startこれで完了です。ブラウザを開いてサーバーのIPを指定してください。好きなログイン名とパスワードを選択してください。

新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。