カテゴリー別アーカイブ: conoha

vpsサーバへファイルをアップロード sftp

conoha vps へ、ファイルを転送する場合
SSHのキーを取得できるので
sftpで行うと便利である

接続は

sftp -i [ローカルキーファイル] [接続側]
例:
sftp -i /home/xxx/key-xxxx-xxx-xxx-xxx-xxx.pem root@xxx.xxx.xxx.xxx

キーファイルは、ロカル(端末側)にダウンロードした後に属性を
所有者 読み込み専用
グループ なし
その他 なし
に、設定する必要がある

ファイルマネージャで属性変更か

chmod 600 認証鍵ファイル

にて、変更が必要です。

接続後のやり取りは
putとgetになる
putがアップロード(ローカルからサーバ)
getがダウンロード(サーバからローカル)
となる

sftp> put test.txt
sftp> get test.txt

-rをつけるとフォルダー単位になる

sftp> put -r abc
sftp> get -r efg

-r の意味はrecursiveで、再帰、繰り返しという意味のようです。

接続後、サーバ側は
ls,cd
などで、情報の取得や、ディレクトリの移動ができる
ローカル側は、接続後の変更ができないようなので
接続前

sftp -i /home/xxx/key-xxxx-xxx-xxx-xxx-xxx.pem root@xxx.xxx.xxx.xxx

に、作業フォルダーに移動後、接続すると良いようです。

sftpで転送したフォルダー、ファイルは、root権限になる。
属性に不具合がある場合には変更が必要となる。

Ubuntu GUIの環境としている場合には
ファイルマネージャをRoot権限で起動して
フォルダを選択し、フォルダー内の全ての
属性を変更にて対応する事ができる

参考

Ubuntu ファイルマネージャをRoot権限で

sudo nautilus

***error: There is no valid email in the directories at /usr/local/bouncehammer/bin/mailboxparser line 174 error対策

処理するメールがないと下記エラーがでます

***error: There is no valid email in the directories at /usr/local/bouncehammer/bin/mailboxparser line 174

これを避けるまめに、フォルダー内にデータがある時だけ、
(新規メールが届いている時だけ)
処理を行うようにする

if ls  /フォルダーのバス/*.* > /dev/null 2>&1
  then
   :  フォルダーにデータがある場合に処理する
fi

機能を追加する

vi /usr/local/autobonuc.sh

#!/bin/sh
 if ls  /home/user0xxx/Maildir/new/*.* > /dev/null 2>&1
  then
/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user031/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

fi

ConoHa BounceHammer メールの自動登録

Cronで、BounceHammerへメールの自動登録を行う

vi /usr/local/autobonuc.sh
#!/bin/sh
/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user0xxx/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

:wq
chmod +x /usr/local/autobonuc.sh

crontab -l

crontab -e
MAILTO="xxxx@gmail.com"
*/2 * * * * /usr/local/autobonuc.sh

処理するメールがない場合のエラー対策 →

ConoHa BounceHammer 内部のメールを複写登録

2重登録を避けるため、メールを2重化し、登録

user01@xxxxx.com
転送先
user011@xxxxx.com

アカウント作成
useradd user01
passwd user01
xxxxxx
xxxxxx

useradd user011
passwd user011
xxxxxx
xxxxxx

aliasesにて自動転送
user01@xxxxx.com
に送信し
user011@xxxxx.com
へ、自動転送(user01@xxxxx.comにもデータを残す)

vi /etc/aliases
user01:user011,user01

postalias /etc/aliases
newaliases

aliasを有効化

user01@xxxxx.com
へメールを送信

ls /home/user011/Maildir/new
で、転送確認

user01@xxxxx.com
から、未到達メールを送信

/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user011/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

bouncehammerへ登録

http://xxxxxx/admin/mail/bouncehammer.cgi
で、追加されたことを、確認

外部のメールサーバの内容の登録 →

ConoHa BounceHammer 内部のメールを登録

BounceHammerに、同じサーバにある内容を登録

/usr/local/bouncehammer/bin/mailboxparser -g --log /home/{user}/Maildir/cur
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

/home/{user}/Maildir/new
は、新規
/home/{user}/Maildir/cur
は、既読
ただし、メーラを立ち上げるとnewは消えてしまう

外部のメールサーバの内容の登録 →
メールBOXを2重化し、一方をBounceHammer登録用とする →

ConoHa BounceHammer メールの登録

外部のメールサーバの内容をBounceHammerに登録

yum install fetchmail procmail
vi ~/.fetchmailrc

set no bouncemail
defaults
 uidl
 no mimedecode
 keep
 mda /usr/bin/procmail

poll smpt.xxx1.com
 protocol imap
 user xxx1
 password pppp
 smtphost localhost

poll smpt.xxx2.com
 user xxx2
 password pppp
 smtphost localhost

vi ~/.procmailrc
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOCKFILE=$HOME/procmail.lock
$LOGFILE=$HOME/procmail.log

fetchmail --ssl

/usr/local/bouncehammer/bin/mailboxparser -g --log /root/new
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

内部のメールサーバの内容の登録 →

ConoHa BounceHammer

ConoHaにBounceHammerを
インストール


# yum install -y perl-core gcc
# cd /usr/local/bin
# wget -O- 'http://cpanmin.us/' > ./cpanm
# chmod +x ./cpanm
# cd /usr/local/src
# wget http://dist.bouncehammer.jp/bouncehammer-2.7.12.tar.gz
# tar xfz bouncehammer-2.7.12.tar.gz
# export PERL5LIB=/usr/local/bouncehammer/lib/perl5
# mkdir -p /usr/local/bouncehammer
# cd bouncehammer-2.7.12
# perl ./Modules.PL missing | cut -d' ' -f4 | cpanm -l /usr/local/bouncehammer
# perl ./Modules.PL missing
# perl ./Modules.PL check
# cpanm -l /usr/local/bouncehammer/ Compress::Zlib
# perl ./Modules.PL check
# ./configure --with-perl-extlib=/usr/local/bouncehammer/lib/perl5
# make
# make test
# make install
# cp /usr/local/bouncehammer/etc/bouncehammer.cf-example /usr/local/bouncehammer/etc/bouncehammer.cf

# cp /usr/local/bouncehammer/etc/webui.cf-example /usr/local/bouncehammer/etc/webui.cf

# vi /usr/local/bouncehammer/etc/bouncehammer.cf

dbtype: 'MySQL'
dbname: 'bouncehammer'

# Database name, username and password of the db-user
username: 'bouncehammer'
password: '794-uguisu-heiankyo'

hostname: '127.0.0.1'
port: 3306

# yum -y install mysql-server
# mysql -u root -p
passwordに対しリターン(パスワードなしで)入れてみる

USE mysql;
update mysql.user set password=password('xx') where user = 'root';
FLUSH PRIVILEGES;
quit
mysql -u root -p
パスワード設定を確認

mysql> CREATE DATABASE bouncehammer; 
mysql> GRANT ALL PRIVILEGES ON bouncehammer.* TO bouncehammer@127.0.0.1 IDENTIFIED BY '794-uguisu-heiankyo'; 
mysql> FLUSH PRIVILEGES;

# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/MySQL.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-hostgroups.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-many-providers.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-providers.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-reasons.sql
# mkdir /var/www/cgi-bin/admin/
# mkdir /var/www/cgi-bin/admin/mail/

#cp /usr/local/bouncehammer/share/script/bouncehammer.cgi /var/www/cgi-bin/admin/mail/bouncehammer.cgi

#chmod a+x /var/www/cgi-bin/admin/mail/bouncehammer.cgi

http://(ip)/cgi-bin/admin/mail/bouncehammer.cgi

外部のメールサーバの内容の登録 →
内部のメールサーバの内容の登録 →

conoHaで構築

・sshでログイン
Tera Termをインストール

Keyをダウンロード
ホスト名
 console1xxxx.cnode.jp
ユーザ名
 iu3-xxx08091
Keyをダウンロードファイル
を指定しログイン

・apacheでWebサービスを立ち上げる

apacheが入っているか調べる
# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Apr 3 2014 23:56:16

入っている

apache起動しているか調べる
# /etc/rc.d/init.d/httpd status
httpd is stopped
止まっている

ポート80を開ける
vim /etc/sysconfig/iptables
# 以下の内容を追記
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
# iptablesを再起動します
# service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]

コンテンツ作成
#vim /var/www/html/index.html

apache起動
# /etc/rc.d/init.d/httpd start

http://xx.xxx.xxx

・ftpをインスツールする
#vsftpd -v
-bash: vsftpd: command not found

#yum -y install vsftpd

-A INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 60000:60030 -j ACCEPT

service iptables restart

useradd centosuser
passwd centosuser
centosuserxxxx
centosuserxxxx

#vim /etc/vsftpd/vsftpd.conf

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
———-このあとに—-
ascii_upload_enable=YES
ascii_download_enable=YES

pasv_promiscuous=YES
pasv_min_port=60000
pasv_max_port=60030
use_localtime=YES
ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
force_local_logins_ssl=YES
force_local_data_ssl=YES
allow_anon_ssl=NO
ssl_ciphers=HIGH

# cd /etc/pki/tls/certs/ ← ディレクトリ移動
# make vsftpd.pem 

Country Name (2 letter code) [GB]:JP ※国名
State or Province Name (full name) [Berkshire]:Tokyo ※都道府県名
Locality Name (eg, city) [Newbury]:Shinjuku ※市区町村名
Organization Name (eg, company) [My Company Ltd]:linuxserver.jp ※組織名
Organizational Unit Name (eg, section) []:admin ※組織の部署名
Common Name (eg, your name or your server’’s hostname) []:linuxserver.jp ※サーバーホスト名
Email Address []:webmaster@linuxserver.jp ※メールアドレス

#/etc/rc.d/init.d/vsftpd start
または、service vsftpd restart

#cd /var/www
#chown centosuser.centosuser -R html/

・FileZillaでの接続

タブ[一般]
プロトコール:FTP-ファイル転送プロトコール
暗号化:明示的なFTPoverTLSが必要
(Require explicit FTP over TLS)

タブ[転送設定]
パッシブ

listが出ないときは
#vim /etc/vsftpd/vsftpd.conf
“require_ssl_reuse=NO”

#/etc/rc.d/init.d/vsftpd restart
または、service vsftpd restart

・Error対応
Warning: strftime(): It is not safe to rely on the system’s timezone settings

#vim /etc/php.ini
date.timezone = Asia/Tokyo

#/etc/rc.d/init.d/httpd restart
または、service httpd restart

・書き込み属性templates_c
Fatal error: Uncaught exception ‘SmartyException’ with message ‘unable to write file ../Smarty/templates_c/

templates_c ->777
config   ->777

・mysqlインスツール
#yum install php-mysql
#yum install mysql-server
#service mysqld start
#mysql

・Notice: Undefined
Notice: Undefined variable: user_id in

#vim /etc/php.ini
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

・ubuntuからのssh接続法
keyPairをダウンロード
/tmp/xxxx-1.key
へ移動

chmod 600 /tmp/xxxx-1.key
#ssh -i /tmp/xxx-x.key iu3-0000xxx@consolexxxx.cnode.jp

・phpmysqladminインスツール
yum -y install –enablerepo=epel install -y phpMyAdmin php-mysql php-mcrypt
apacheを再起動します。
※再起動は「/etc/rc.d/init.d/httpd restart」で行えます。

http://xxx.com/phpmyadmin
にてアクセス
you don’t have permission to access /phpmyadmin on this server.
のエラーがでる
http://www.deep-deep.jp/blog_engineer/archives/1996
を参考にして
vi /etc/httpd/conf.d/phpMyAdmin.conf


# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1

のDeny from Allをコメントアウト#
apacheを再起動します。
※再起動は「/etc/rc.d/init.d/httpd restart」で行えます。

rootパスワード設定
http://qiita.com/daichi87gi/items/f9dac6cd8acc3ad4330d
参考
mysql

rootのパスワードを確認
mysql -u root -p
passwordに対しリターン(パスワードなしで)入れてしまう

USE mysql;
— Hostを無視して更新したい場合はhost=’localhost’ は消しておけばよさそう
UPDATE user SET password=PASSWORD(‘your_password’) WHERE host=’localhost’ AND user=’root’;
FLUSH PRIVILEGES;
quit
mysql -u root -p
で、rootにパスワードが設定されたか確認する

・mysql-workbench
sudo apt-get install mysql-workbench

mysql-workbench &
で起動