動かざることバグの如し

3分経てば忘れそうなことをメモします

Let's Encryptを使ってOwncloud構築してみる

ドメイン認証のSSL証明書が無料で発行できるとのことで乞食してみた

環境

インストール

add-apt-repository ppa:ondrej/apache2
add-apt-repository ppa:ondrej/php
apt-get install -y apache2 libapache2-mod-php7.0 php7.0 php7.0-curl php7.0-gd mariadb-server php7.0-mysql php7.0-xml php7.0-mbstring php7.0-zip

SSL証明書の設定

clone

cd /usr/local/
git clone https://github.com/letsencrypt/letsencrypt

依存ライブラリのインストール

cd letsencrypt/
./letsencrypt-auto --help

なんとこやつ、証明書の設定をほぼ全自動道でやってくれるとのこと。

./letsencrypt certonly --webroot -w /var/www/html -d example.com -m sample@example.com --agree-tos
  • -certonly 証明書の取得のみ行う

  • --webroot 一時的な認証ファイル生成場所

  • -w ドキュメントルートのパス Apacheの場合はDocumentRootに当たる

  • -d 証明書を取得するドメイン

  • -m メールアドレス

  • --agree-tos Let's Encrypt の利用規約に同意

以下のように表示されれば成功 取得した各証明書は /etc/letsencrypt/live/<ドメイン名>に格納される

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/cloud.turai.work/fullchain.pem. Your cert
will expire on 2016-06-07. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:

Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
Donating to EFF:                    https://eff.org/donate-le

owncloudのダウンロード

/var/www/html上でrootで作業

wget http://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
tar xjf owncloud-9.0.0.tar.bz2
chown www-data: -R owncloud

Apacheの設定

Apacheのモジュールを有効化

a2enmod rewrite
a2enmod ssl

ファイル名が*.confでないとエラーになるので注意

root@owncloud:/tmp# cat /etc/apache2/sites-available/owncloud.conf 
<VirtualHost *:443>
        DocumentRoot /var/www/owncloud
        <Directory /var/www/owncloud>
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/cloud.turai.work/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/cloud.turai.work/privkey.pem
        LogLevel warn
        ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>

目障りなのでデフォルト設定を削除

rm /etc/apache2/sites-enabled/*

有効化

cd /etc/apache2/sites-available
a2ensite owncloud.conf

アップロードの容量を増やす

vim /var/www/owncloud/.htaccessmod_php5.cを7にして以下に

<IfModule mod_php7.c>
  php_value upload_max_filesize 0
  php_value post_max_size 0
  php_value memory_limit -1
  php_value max_execution_time 0
  php_value mbstring.func_overload 0
  php_value always_populate_raw_post_data -1
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>