久しぶりに更新です。 無事に薬剤師国家試験に合格し、薬剤師免許を申請する資格を手に入れました。(まだ薬剤師ではない。) それはそれとして、Amazon EC2を使って社内クラウドファイル管理(Dropboxのようなもの)を構築してみることにしました。 作業は初めてでも2〜3時間もみとけば余裕かと思います。
いまなら(ずっとかも?)AWSのサービスが一部無料で利用できます。 EC2ならmicroインスタンスを最小限構成で1年使える。 アカウント持ってない人は、Amazon AWSの新規登録から。 最近日本語もちゃんとしてきてつかいやすくなってます。
登録したら、コンソールはこんな感じ。 EC2使いたいので「コンピューティング」→「Amazon EC2」を選びます。
新規で追加する場合は「インスタンスの追加」を選びます。
なんかまぁ流れに従って選んでいきますが、OSはAmazon Linux AMIの一番上のやつ選びました。 なんでもいいんだけど、少し料金が変わってきます。Amazon Linuxは一番安いっぽい。
インスタンスタイプは最小構成なら「t2.micro」でしょうか。 親切に「無料利用枠の対象」って書いてあります。
詳細設定は「誤った削除から保護します」という部分だけチェックしときましょう。
ストレージは全体で30GBまでは無料利用枠の対象です。後からマウントもできるので起動ディスクとしての設定程度の認識でもOK。
一番つまづきやすいのはセキュリティグループの設定かな。 どこのIPからのアクセスをどのポートで許可するかとか。インとアウトで細かく設定できます。ファイアウォール設定的な感じ。後からするんでもOK。 自分のところが固定IPならSSHをそれで許可。全て許可(任意の場所「0.0.0.0/0」がそうっぽい)もできるけど、あまり推奨されてない感じ。(あたりまえか) ※ちなみにSSH許可しないと接続できないのでマジ注意!(よくわかってなくて、ここで5〜10分取られた。)
ここまでやったらインスタンスが作成できる。キーペアをつくってSSHで接続できるように適当なところに置く。 pemファイルは
chmod 400
しておこう。(というかしないとできない気がする。) EC2ダッシュボードのインスタンス一覧からグローバルIPを確認してSSH接続を試す。 デフォルトのユーザーは「ec2-user」なので、 ターミナルソフトから
ssh -i *****.pem ec2-user@**.**.**.**
※「*****.pem」はキーペアのファイル名、「ec2-user@**.**.**.**」はグローバルIP。 キーペア認証なのでパスワードはなしでいける。
ログインできたら、とりあえず
sudo yum update
しとく。
そんでこっからは失敗した話。 httpd入れようと思って(Nginx使ったりもしてたけど、ちょっと運用面で不満があったのでApacheにした。)
sudo yum install -y httpd
これをやったんだけど、この後PHP5.6を入れようとして
sudo yum install -y php56-devel
やったらhttpdの依存関係でエラーが出た。 一旦httpdアンインストール。 phpいれると自動で入るっぽかったのでそちらに任せてPHP5.6入れなおし。 ちなみにPHPはバージョン指定なしの
sudo yum install -y php
だと5.3が入る。ほかにはphp54とphp55とphp56がある。(2015年4月現在) php7が待ち遠しい。
失敗した話はここまで。
だけやっとけば良い。httpdはいれなくてもはいる。(※バージョン関係だけどめんどくさいので)
php.iniを設定。多分/etc/php-5.6.iniをいじる。設定は省略。 httpd.confを設定。最小限。/etc/httpd/conf/httpd.confと/etc/httpd/conf.d/の中にある。
chkconfigとserviceを使って操作するあたりはCestOSと同じ感じ。 ※systemctlではない! httpdを自動起動する設定にする。
sudo chkconfig httpd on
httpdを起動
sudo service httpd start
以上。
クラウドファイル管理はowncloudを使う。 Dropboxみたいな使い勝手でサーバーの容量を使えて、しかもグループ・ユーザー管理ができる。 しかもしかも!無料!!
まず、mysqlサーバーとPHPの拡張をいれる。mysqlndでいいのかな?たしかこれでできたはず(曖昧)
sudo yum install -y mysql-server php56-mysqlnd
MySQLの設定ファイルをいじる。
sudo vi /etc/my.cnf
mysqldの末尾に「character-set-server=utf8」を追記。
自動起動を指定して起動。
sudo chkconfig mysqld on sudo service mysqld start
初期設定(細かいのは省略)→ここを参照
sudo mysql_secure_installation
owncloud用MySQLユーザーとデータベースを作成
mysql -u root -p mysql> CREATE DATABASE owncloud; mysql> GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_no_password';
※「owncloud_no_password」にはowncloudユーザーのパスワードを設定。
owncloudのrepoファイルを入れる。 ※CentOS7とかはhttp://download.opensuse.org/repositories/isv:/ownCloud:/community/CentOS_CentOS-7/isv:ownCloud:community.repoでいける。
cd /etc/yum.repos.d/ sudo wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo
yumでインストール
sudo yum install -y owncloud
これで完了。
http://**.**.**.**/owncloud/でアクセスできちゃう。 管理者IDとパスワードを設定して、データベース設定でSQLiteじゃなくてMySQLえらぼう。 configがおかしい場合は/var/www/html/owncloud/config/config.phpを削除すれば再設定できる。(※デフォルトの構成の場合) 俺もPHPの設定やら何やらで何回か設定しなおした。SQLiteでもいけるんだけどパフォーマンスとか考えるとMySQLのほうが良いかも。
ざっくり飛ばしちゃったけど、慣れれば1時間足らずでクラウドファイルサーバーが構築できちゃうのです。 ただEC2は小規模向けには少し割高かもなぁ…。やっすいVPSとかだともっとコスパがいいかもしれないね。 簡単にスケールアップできるのはにじゅうまる。
参考: owncloud(https://owncloud.org/) ownCloud Server7をCentOS/RHEL6にyumインストールする手順(http://weblabo.oscasierra.net/owncloud7-centos6-1/) Yumを利用したMySQLのインストールと設定(http://d.hatena.ne.jp/Yosuke_Taka/20130519/1368924602)
コメント 0
トラックバック 0
上に表示された文字を入力してください。
【logrotate】ログファイルを自動で数日分バックアップ後破棄
Facebook APIの仕様がかわった
カニモモンガの技術めも 横浜市在住の薬学生Developer. 第100回薬剤師国家試験合格。 卒業してCEOになったよ。 毎日エンジョイしてる。 最近はもっぱらサーバー周りのこととかPHPとか。
return top
コメント 0