1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
pgpool http://pgpool.net/mediawiki/index.php/Yum_Repository yum install <a class="external free" href="http://www.pgpool.net/yum/rpms/3.4/redhat/rhel-6-x86_64/pgpool-II-release-3.4-1.noarch.rpm" rel="nofollow">http://www.pgpool.net/yum/rpms/3.4/redhat/rhel-6-x86_64/pgpool-II-release-3.4-1.noarch.rpm</a> yum install pgpool-II-pg93 アカウント設定して、 vi /etc/pgpool-II/pgpool.conf デフォルトで、 vi /etc/pgpool-II/pgpool.conf 起動せず service pgpool start pgpool サービスを開始中: [失敗] なんだろう。 再起動したらいけた # service postgresql restart postgresql サービスを停止中: [ OK ] postgresql サービスを開始中: [ OK ] # service pgpool start pgpool サービスを開始中: [ OK ] benchmark localhostで、100selectで4秒?遅すぎ? $ php pgsql.php 2015-12-09 05:55:21 2015-12-09 05:55:25 他のサーバからだと1秒 [ec2-user@ip-172-31-29-250 bench]$ php pgsql.php 2015-12-10 23:08:27 2015-12-10 23:08:28 |
著者別アーカイブ:nilesflow
CURLOPT_RESOLVE
動的ドメイン解決したかったが、5.6でも7.0betaでも使えない。
PHP Notice: Use of undefined constant CURLOPT_RESOLVE – assumed ‘CURLOPT_RESOLVE’ in /home/nilesflow/php/dynamic-host-curl/request.php on line 9
Notice: Use of undefined constant CURLOPT_RESOLVE – assumed ‘CURLOPT_RESOLVE’ in /home/nilesflow/php/dynamic-host-curl/request.php on line 9
PHP Warning: curl_setopt() expects parameter 2 to be long, string given in /home/nilesflow/php/dynamic-host-curl/request.php on line 9
Warning: curl_setopt() expects parameter 2 to be long, string given in /home/nilesflow/php/dynamic-host-curl/request.php on line 9
追加されてない?と思ったが、
http://stackoverflow.com/questions/24351152/how-to-manually-resolve-hosts-in-https-connections-in-php
https://bugs.php.net/bug.php?id=63488&edit=3
ChangeLogはある。
http://www.php.net/ChangeLog-5.php#5.5.0
ソースを見ると、libcurlのバージョンに
#if LIBCURL_VERSION_NUM >= 0x071503 /* Available since 7.21.3 */
REGISTER_CURL_CONSTANT(CURLAUTH_ONLY);
REGISTER_CURL_CONSTANT(CURLOPT_RESOLVE);
#endif
yuminstallだと、7.19までしか入らない
libcurl-7.19.7-46.el6-x86_64
libcurlを更新
wget http://www.execve.net/curl/curl-7.46.0.tar.bz2
tar xf curl-7.46.0.tar.bz2
cd curl-7.46.0
./configure –enable-libcurl-option
make
make install
phpをリビルド
cd /usr/local/src/php-5.6.12
./configure 前と同じオプション
make
make install
wget pure-ftpd-1.0.32
※1.0.42は、configure で、autoconfでエラー
※yum install (1.0.30)でも動作
cd pure-ftpd-1.0.32
./configure –with-pam –with-pgsql=/var/lib/pgsql
make
make install
cp xxx /etc/init.d/pure-ftpd-src
cp xxx /etc/pure-ftpd/pure-ftpd-src.conf
PGSQLConfigFile /etc/pure-ftpd/pureftpd-pgsql.conf
PAMAuthentication no
UnixAuthentication no
CreateHomeDir yes
/etc/pure-ftpd/pureftpd-pgsql.conf
諸々
SELECT “Password” FROM users WHERE “User”=’\L’
ダブルクォーテーションが必要
yum -y install tcp_wrappers-devel.x86_64
yum install libcap-devel
wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz
tar xvzf vsftpd-3.0.3.tar.gz
cd vsftpd-3.0.3
vi vsf_findlibs.sh
vi builddefs.h
make
make install
vi /etc/init.d/vsftpd-3.0.3
postreqsql のインストール
yum install postgresql-server
# pam_pgsql をbuildするため
yum install postgresql-client
yum install postgresql-contrib
yum install postgresql-devel
pam_pgsqlのインストール
cd /usr/local/src/
wget https://github.com/pam-pgsql/pam-pgsql/archive/release-0.7.3.2.zip
unzip release-0.7.3.2.zip
cd pam-pgsql-release-0.7.3.2/
./autogen.sh
./configure –libdir=/lib64
#pamのlibが入っている
make
make install
# /usr/local/lib/security/pam_pgsql.so
vsftpd on postgresql
# su – postgres
-bash-4.1$ createuser vsftpd
新しいロールをスーパーユーザとしますか? (y/n)y
パスワード:
-bash-4.1$ psql -U postgres
ユーザ postgres のパスワード:
postgres=# alter user vsftpd with password ‘vsftpd’;
ALTER ROLE
-bash-4.1$ createdb vsftpd -U vsftpd
パスワード:
-bash-4.1$ psql -U vsftpd
ユーザ vsftpd のパスワード:
vsftpd=# CREATE TABLE “accounts”(
vsftpd(# “i_id” SERIAL,
vsftpd(# “s_username” VARCHAR(30) NOT NULL,
vsftpd(# “s_password” VARCHAR(50),
vsftpd(# “b_expired” BOOLEAN DEFAULT false,
vsftpd(# CONSTRAINT “accounts_s_username_key” UNIQUE(“s_username”)
vsftpd(# );
NOTICE: CREATE TABLEはシリアル列”accounts.i_id”用に暗黙的なシーケンス”accounts_i_id_seq”を作成します。
NOTICE: CREATE TABLE / UNIQUEはテーブル”accounts”に暗黙的なインデックス”accounts_s_username_key”を作成します
CREATE TABLE
vsftpd=# insert into accounts(s_username, s_password) values(‘xxxx’,md5(‘yyyyy’));
vsftpd設定
vi /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd
anonymous_enable=NO
virtual_use_local_privs=YES
guest_enable=YES
local_root=/home/nilesflow/vsftpd_root/$USER
hide_ids=YES
guest_username=nilesflow
user_sub_token=$USER
chroot_local_user=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES
vsftpd pam設定
vi /etc/pam.d/vsftpd
auth required pam_pgsql.so config_file=/etc/pam_pgsql_vsftpd.conf
account required pam_pgsql.so config_file=/etc/pam_pgsql_vsftpd.conf
vsftpd pam postgresql 設定
vi /etc/pam_pgsql_vsftpd.conf
debug
pw_type = md5
connect = hostaddr=127.0.0.1 port=5432 dbname=xxxxx user=xxxxx password=xxxxx connect_timeout=15
auth_query = select s_password from accounts where s_username = %u
acct_query = select b_expired as acc_expired, 0 as acc_new_pwreq, (s_password ISNULL OR s_password = ”) as user_password from accounts where s_username = %u
ディレクトリ作成
mkdir /home/nilesflow/vsftpd_root/nilesflow
local_rootでディレクトリ自動作成できないのが。。。
ディレクトリ作成できないのは、直接 secutil.c をいじればできるが(以下適当)
retval = str_mkdir(p_ext_dir_str, 0775);
chmod(str_getbuf(p_ext_dir_str), 0775);
retval = chown(str_getbuf(p_ext_dir_str), 0, 0);
./configure
make
make install
./configure で以下が出た
PAM enabled but headers or library not found
以下で回避
yum install pam-devel
http://qiita.com/takoba/items/0b50f6f33d7c44a85bef
cp system/startup/rc.monit /etc/init.d/monit
chmod a+x /etc/init.d/monit
MONIT=/usr/local/bin/monit
cp monitrc /etc/.
1 2 3 4 |
# /sbin/chkconfig monit on # /sbin/chkconfig --list monit chmod 0700 /etc/monitrc |
new Error().stack
jsdoc3、yuidoc, esdocを試した三田
jsdoc3がシンプル。UIが貧弱
yuidocは、UIはいいけど、@method の追加とかが手間
esdocはエラーになったので、ちゃんと確認していない。
ひとまず、jsdocのままとしている
UIテンプレートで変えられると思い、探したけど、意外となかった。
生成されたHTML
http://dev.furoom.net/jsdoc3/jsdoc3/index.html
以下を参考に
http://usejsdoc.org/
http://www38.atwiki.jp/aias-jsstyleguide2/pages/14.html
つけとくものは、以下
ファイル
@fileoverview
モジュール
@exports or @module
クラス
@constructor
@extends
→リンクにならない・・。
@interface
@implements
あたりも
メソッド
@public
@protected
@private
@abstract ※googleに無し
@override
@param
@return
@callback {RedisClient~onSubscribe} ※googleに無し
定数
@const
ちょっと試したもの
@see
@link
@fires ※googleに無し
@fileoverviewと@exportsは別のコメントブロックにしないと正しく表示されない
@callback の後は、クラス名を入れないと正しく表示されない
@linkは、反映されない。ul li の書き方は試してない。
@seeも、リンクは貼られない。。
https://github.com/nilesflow/prototype-node.js-jsdoc
のソースをgithubに
https://github.com/nilesflow/prototype-node.js-websocket-wss
foreverをサービスとして起動
CentOS6.6、CentOS7.1
init.dの起動スクリプト+logrotate設定
https://github.com/nilesflow/centosetc
ログは、/var/log/foreverd.log
Node.jsログは、指定の場所に。
start の2重起動防止。
注意点は、foreverのHOMEディレクトリ。
HOME=xxxxxx
daemonの場合、ログインユーザでないため、/var/forever/.forever
ログインユーザの場合、/home/xxxxx/.forever
となる。
コマンドラインからの場合は、以下で参照可能。
HOME=xxxxxx forever list
※通常ユーザの場合、不要。
起動ユーザは、ログインユーザとdaemonに対応
forever-service はログ出力が制御できなかった。
initd-forever は、少し不足
以下のスクリプトを流用させてもらった
http://multix.jp/daemon-nodejs/