仕事で使っていて便利そうなので自宅のサーバーにも入れてみることにした。
とりあえず、MySQLとPHPが必要らしいのでそのセットアップから。セットアップに自信がないので仮想PC内でお試し。ごにょごにょやって何とか動くようにはなった。もう少しお試しが必要。
インストール
コマンド一発。必要なものは勝手に一通り入る。portsからバージョンを選んでインストールしようとも考えたが、そこまでのこだわりもないのでパッケージで。
# pkg install owncloud
これでmysql56-server, php56が入る。
MySQLの設定
まずはサービスを開始して、 mysql_secure_installation で初期設定。
# service mysql-server start # mysql_secure_installation
次に owncloud向けの設定。
ここを見るといろいろ設定が必要そうなので読んでみる。がよくわからないのでいろいろお試し。
BINLOG_FORMAT = STATEMENT
を
BINLOG_FORMAT = MIXED または ROW
に変更すべしとある。
また、ここにも追加する項目が書いてあるので /usr/local/etc/mysql/my.cnf.sampleをmy.cnfにコピーして下記を[mysqld]の一番下に追加。
BINLOG_FORMAT = MIXED innodb_large_prefix=ON innodb_file_format=Barracuda innodb_file_per_table=ON
PHPの設定
まずはphp.iniを作成。/usr/local/etc/php.ini-production を php.ini にコピー。
一か所、upload_max_filesize を 2M から 10G に変更。
upload_max_filesize = 10G
ここには /etc/php5/conf.d/mysql.ini に下記を記載するとあるが、FreeBSDだとphp.ini-productionにすでに入っているので追加不要。
[mysql] mysql.allow_local_infile=On mysql.allow_persistent=On mysql.cache_size=2000 mysql.max_persistent=-1 mysql.max_links=-1 mysql.default_port= mysql.default_socket=/tmp/mysql.sock mysql.default_host= mysql.default_user= mysql.default_password= mysql.connect_timeout=60 mysql.trace_mode=Off
その他の設定
my.cnfの[client]にutf8を追加した方がいいらしいので追加する。
[client] default-character-set=utf8
データベースの作成
mysqlのコマンドプロンプトから下記コマンドで追加。usernameとpasswordは適切に。それと末尾のセミコロンもよく忘れる。
> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; > CREATE DATABASE IF NOT EXISTS owncloud; > GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';
Apacheの設定
/usr/local/etc/apache24/Includes/に php5.conf と owncloud.conf を作成する。
# cat php5.conf LoadModule php5_module libexec/apache24/libphp5.so #AddType application/x-httpd-php .php .phtml .php3 #AddType application/x-httpd-php-source .phps #AddType text/html .php AddHandler php5-script .php <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> # cat owncloud.conf Alias /owncloud /usr/local/www/owncloud AcceptPathInfo On <Directory /usr/local/www/owncloud> AllowOverride All Require all granted </Directory>
serviceを再起動
# service apache24 restart # service mysql-server restart
ブラウザで接続するとこんな画面が出てきて、データベースの情報を入れると設定完了。
と言いたいところだが、この後、なぜか、いろいろとエラーが出たが、mysql-serverを再起動したり、データベースのアクセス権を設定しなおしたりしたら設定が完了した。