owncloud8をVPS(ubuntu 14.04)上に構築する。(UTF-8、data_directory変更、SSLの設定)

ここを見ながらやった http://idroot.net/tutorials/install-owncloud-8-ubuntu-14-04/

apt-get install apache2
apt-get install php5 php5-mysql
apt-get install php5-gd php5-json php5-curl php5-intl php5-mcrypt php5-imagick
apt-get install mysql-server
# mysql の初期設定
mysql_secure_installation
# mysql のuser設定のためログイン
mysql -u root -p
-- SQL
CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'YOURPASSWORD';
CREATE DATABASE ownclouddb;
GRANT ALL ON ownclouddb.* TO 'ownclouduser'@'localhost';
FLUSH PRIVILEGES;
exit
cd ~/tmp
wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2
sudo tar -xvf owncloud-8.0.0.tar.bz2 -C /var/www/html/
sudo chown www-data:www-data -R /var/www/html/owncloud/

/etc/apache2/sites-available/owncloud.confを以下内容で作成

<VirtualHost myhost.domain:443>↲
    ServerName myhost.domain
    SSLEngine on
    SSLProxyEngine on
    RequestHeader set X_FORWARDED_PROTO 'https'
    SSLCertificateFile /****
    SSLCertificateKeyFile /****
    ErrorLog "/var/log/apache2/owncloud_error.log"
    TransferLog "/var/log/apache2/owncloud_access.log"
    <IfModule mod_alias.c>
        Alias /owncloud /var/www/html/owncloud
    </IfModule>
    <Directory “/var/www/html/owncloud”>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

/var/www/owncloued/.htaccessを編集 (<IfModule mod_php5.c> の箇所に1行追加)

php_value default_charset utf-8↲

/var/www/owncloud/config/config.phpを編集 (data directoryの変更)

'datadirectory' => '/data/owncloud'
sudo mkdir /data
sudo mkdir /data/owncloud
sudo chown -R www-data:www-data /data/owncloud
sudo vim mkdir /data/owncloud/.ocdata
sudo chown -R www-data:www-data /data/owncloud/.ocdata
sudo a2ensite owncloud
sudo service apache2 restart

この設定をやると、管理画面上で出る警告系のものは全て出なくなるはず。

gitlabとほかのウェブサービスを共存させる。

gitlab 導入メモ

gitlabを普通に建てて、フロント側をサービスgotoにapacheのプロキシで分けるような感じ。

  1. インストール
    https://about.gitlab.com/downloads/
    ここのまま。 インストールと起動をする。

  2. SSL自己証明書の発行
    自分しか使わない予定のため適当にSSLの自己証明書を作る。

  3. gitlabのアドレスの設定を変える。
    /etc/gitlab/gitlab.rbの先頭にあるexternal_urlの設定を変える。
    external_url='http://address.domain:8081'
    とかにしておく、変えた後は、gitlab-ctl reconfigure をする。

  4. apacheを使ってプロキシの設定をする。
    sites-availableの設定は以下のような感じ

  5. apacheを起動して、エラーを解消する。
    module周りでエラーがでたのでa2enmodをして解消する。

この設定で、address.domainにsslでアクセスしたときのみgitlabにアクセスされる。 ほかのサービスを同時に動かしたい時は、virtualhostで分けて設定する。

C++のウェブフレームワークcrowをつかってみる

crowのHelloWorldを動かしてみた。

nakatanakatana/crow_demo · GitHub

cloneしたディレクトリで、

cmake .
make

をすると実行できるバイナリ(main)ができる。

CMakeを初めて使ったから書き方あってるか分からないけど、 とりあえず動くようにはなった。

(自分にとって)使いやすい感じのlogger

handlernameに'FILEANDSTREAM'を指定することで、ファイルと標準出力両方にログが出る。

# -*- coding: utf-8 -*-
from logging import getLogger, StreamHandler, FileHandler
from logging import INFO, DEBUG, WARNING, ERROR, CRITICAL
from logging import Formatter

level = {'INFO': INFO,
         'DEBUG': DEBUG,
         'WARNING': WARNING,
         'ERROR': ERROR,
         'CRITICAL': CRITICAL,
         }
handler = {'STREAMHANDLER': lambda x: (StreamHandler(), ),
           'FILEHANDLER': lambda x: (FileHandler(x), ),
           'FILEANDSTREAM': lambda x: (StreamHandler(), FileHandler(x))
           }

def logger(logname,
           handlername='STREAMHANDLER',
           logfilename=None,
           loglevel='DEBUG',
           format='%(asctime)s\t%(name)s\t%(levelname)s\t%(message)s'):
    log = getLogger(logname)

    l = level.get(loglevel.upper())
    log.setLevel(l)

    logfilename = logfilename if logfilename else '%s.log' % logname
    handlers = handler.get(handlername.upper())(logfilename)
    for h in handlers:

        f = Formatter(format)
        h.setFormatter(f)
        h.setLevel(l)
        log.addHandler(h)

    return log