さくらVPSのApache+OpenSSLにVeriSignのSSLを入れる

すごく簡単に入ったけどベリサインの証明書ははじめてなのでメモ。



mod_ssl が入っているか

# yum list installed | grep mod_ssl

なかったので yum でインストール。(ちなみに Apache は v2.2.3)

# yum install mod_ssl

生成した秘密鍵を設置する。

# cd /etc/httpd/conf
# mkdir ssl.key
# vi ssl.key/server.key
# chmod 400 ssl.key/server.key

証明書はメールで送られてくるのでそれを vi 等でコピペする。

# mkdir ssl.crt
# vi ssl.crt/server.crt
# chmod 400 ssl.crt/server.crt

中間証明書は、Secure Site SSLの場合は下記URLのものをコピペする。
http://www.verisign.com/support/verisign-intermediate-ca/secure-site-intermediate/index.html

# mkdir ssl.pem
# vi ssl.pem/inca.pem
# chmod 400 ssl.pem/inca.pem

Apacheの設定ファイルに各証明書を指定する。

# vi ../conf.d/ssl.conf

SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
SSLCertificateChainFile /etc/httpd/conf/ssl.pem/inca.pem

再起動して完了!

# service httpd restart

さくらVPSにLAMP環境をつくる【Apache2.2, PHP5.3, MySQL5.5】

備忘録として失敗から成功に至るまで全部のせてます。
成功パターンは「php53で再インストール」の項から

CentOSデフォルトのyumレポジトリではApache, PHP, MySQLのバージョンが古いので、epelとremiレポジトリを設定する。

# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm -ihv http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5-7.el5.remi.noarch.rpm
# yum repolist

確認

# yum info httpd --enablerepo=remi
# yum info php --enablerepo=remi
# yum info mysql --enablerepo=remi

yum-cronの設定

yum-cron のすすめ
http://www.sssg.org/blogs/naoya/archives/748

# yum -y install yum-cron

自動的にパッケージがインストールされてしまうので、更新パッケージを確認するだけの設定する。

# vi /etc/sysconfig/yum-cron

CHECK_ONLY=yes
DOWNLOAD_ONLY=yes

# service yum-updatesd stop
# chkconfig yum-updatesd off
# service yum-cron restart
# chkconfig yum-cron on

キャッシュのクリア

# du -h /var/cache/yum
# yum clean all

apacheのインストール

# yum -y install httpd --enablerepo=remi

PHPのインストール

# yum -y install php php-devel php-pear php-mbstring php-gd php-mysql --enablerepo=remi

UTF-8に設定

# cp -pi /etc/php.ini /etc/php.ini_20120226_higuchi
# vi /etc/php.ini

date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.substitute_character = "?"
default_charset = "UTF-8"

MySQLのインストール

# yum install --enablerepo=remi mysql-server

UTF-8に設定する

# cp -pi /etc/my.cnf /etc/my.cnf_20120226_higuchi
# vi /etc/my.cnf

[mysqld]
character-set-server = utf8
skip-character-set-client-handshake
[mysql]
default-character-set=utf8

起動開始するも失敗!!?

# service mysqld start
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]

ログを確認するとシステムテーブルがないと言われる

# tail -f /var/log/mysqld.log
120226 16:54:58 mysqld started
120226 16:54:58 InnoDB: Started; log sequence number 0 1595675
120226 16:54:58 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
120226 16:54:58 mysqld ended

初期化する

# mysql_install_db

再度起動を試みる

# service mysqld start
Starting MySQL: [ OK ]

成功した!!

# chkconfig mysqld on

起動と文字コードの確認、DB・ユーザ作成

# mysql -u root
mysql> status;
mysql> show variables like 'character_set%';

mysql> create database testdb character set utf8;
mysql> grant all on testdb.* to testdb_user@localhost identified by 'パスワード';

rootパスワード設定

# mysqladmin -u root password パスワード


サーバ設定終わり!
いざCakePHPを動かそうとすると…

Fatal error: Call to undefined function mysql_query() in 〜/cake/libs/model/datasources/dbo/dbo_mysql.php on line 613

あれ、mysqlの関数を実行できない。。

# ps aux | grep msyql

プロセスは立ち上がっている。
rpmphp-mysqlがインストールされているかチェック。

# rpm -qa | grep php
php-cli-5.3.10-2.el5.remi
php-devel-5.3.10-2.el5.remi
php-common-5.3.10-2.el5.remi
php-pdo-5.3.10-2.el5.remi
php-mbstring-5.3.10-2.el5.remi
php-pear-1.9.4-3.el5.remi
php-gd-5.3.10-2.el5.remi
php-5.3.10-2.el5.remi

あれ、入ってない…?
再インストール

# yum -y install php-mysql --enablerepo=remi

remiにあるphp-mysqlは5.3じゃないことが判明…!
じゃあ別のレポジトリ!

# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
# yum -y --enablerepo=utterramblings --disablerepo=remi,base,epel,extras,updates install php-mysql

同じくダメ…
とちょっとググったらphp53なるパッケージがCent標準のリポジトリで提供されてるww
無駄な時間つかったw

まずはリムーブ

# yum remove php php-devel php-pear php-mbstring php-gd php-mysql --enablerepo=remi

php53で再インストール

# yum install php53 php53-mbstring php53-mysql

これで正常に起動!
ちなみにチェックとかははっしょてます。

phpmyadminmcryptが必要だったので追加インストール

# yum install php53-mcrypt

iTunes Connect休業中

事前にDeveloper宛に22〜29日はiTunes Connectはお休みです、との連絡をもらっていたが、ログインしてみると通常通りAdd New APPできたので、あれ?iTunes Connect使えるじゃん、審査はしてくれないだろうけど申請だけしちゃおう。

と思ったら最後のアプリうpで休業中エラー。


「The iTunes Store is not currently accepting content due to the holiday. Please try again after December 28th. We apologize for the inconvenience that this causes.」

あっちは年末年始は通常通り営業するのかな?

Phonegapでつくったプロジェクトのコピー

めも

  1. 左(デフォルト)にあるパッケージエクスプローラからコピー元のプロジェクトを右クリック→コピー
  2. パッケージエクスプローラの適当な空白部分で右クリック→貼付け
  3. プロジェクト名を入力してOKクリック
  4. パッケージエクスプローラのコピー先プロジェクト→src展開→パッケージ名を右クリック→リファクタリングクリック→名前変更クリック→新しいプロジェクト名を入力してOKクリック
  5. さらに展開してActivity.javaの名前を同じく名前変更
  6. gen展開して同じく名前変更
  7. res→values→string.xmlを開き、アプリ名を変更
  8. AndroidManufest.xmlを開き、manufestタグのpackageと、applicationタグのandroid:nameを新しいパッケージ名に変更→configuration updateはYES
  9. 実行
  10. 初回はCould not find ◯◯.apk!と言われるのでもう一度実行

イコン画像の差し替えも忘れずに。
(忘れてリリースしたやつより)

MacBook Pro EFI ファームウェア・アップデート 2.2による起動の不具合

先ほど「MacBook Pro EFI ファームウェア・アップデート 2.2」がきていたので、特に何も考えずにインストールして再起動したら下記メッセージが表示されMacOSXが起動してくれなかった。(ノД`)

"No bootable device -- insert boot disk and press any key"

【対処法】

1.電源を切って、Option(alt) ボタンを押しながら起動する。

2.通常の起動ドライブを選択する。

3.Mac OS X が起動したら、リンゴマーク→システム環境設定→起動ディスク→通常の起動ドライブを選ぶ


これで大丈夫でした。

EC2 にCalipso のインストール【Node.js, MongoDB インストールから Calipso インストールまで】

Node.js, MongoDB のインストールが完了したらいよいよ Calipso のインストールです。


NPMコマンドで Calipso インストール

$ npm install calipso -g

ソースを展開するディレクトリ作成

$ mkdir /var/www/html/MySite

Calipso コマンドのオプション site でサイト構築

$ calipso site /var/www/html/MySite

ディレクトリ移動

$ cd /var/www/htmlMySite

バックグラウンドでサーバ起動

$ calipso server server.port=3000 &

クラスタ構成の場合はこちらで

$ calipso cluster server.port=3000 &

#モジュールのインストールやその他コマンドは GitHub で!
https://github.com/cliftonc/calipso

あとはブラウザで確認
http://自サーバのIP:3000/

EC2 に MongoDB のインストール【Node.js, MongoDB インストールから Calipso インストールまで】

Node.js インストールからの続き。


3. MongoDBのインストール

npmのインストール

$ curl http://npmjs.org/install.sh | sh

npmで、MongoDBのインストール

$ npm install mongodb

npmで、JSONtoXMLのインストール

$ npm install jsontoxml

MongoDBのダウンロード

$ sudo wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.0.tgz

展開

$ tar xvfz mongodb-linux-x86_64-1.8.0.tgz

実行ファイルの移動

$ cd mongodb-linux-x86_64-1.8.0
$ mv ./bin/* /usr/local/bin/

実行してみる

$ cd ~/
$ mkdir db
$ mongod --dbpath ~/db/ --logpath ~/db/db.log --fork
$ forked process: 23041
all output going to: /home/higuchi/db/db.log
$ mongo
MongoDB shell version: 1.8.0
connecting to: test
> db.sample.insert({uid:'user1',name:'make'})
> db.sample.find({uid:'user1'})
{ "_id" : ObjectId("4d902dfea62cf8f3e1451f20"), "uid" : "user1", "name" : "make" }
> exit
bye