mailman

ブラウザで管理できるメーリングリストmailman

日本語対応mailmanをインストール

cd /usr/ports/japanese/mailman
make install clean

mailmanのファイルのパーミッションチェック

cd /usr/local/mailman
./bin/check_perms -f

エラーが出たところのパーミッションを変更して再度チェック

エラーが出なくなるまで確認

mailmanの設定

cd /usr/local/mailman/Mailman
ee mm_cfg.py
下記のように変更
DEFAULT_SERVER_LANGUAGE = 'ja'
MTA = 'Postfix'
DEFAULT_URL_HOST = 'tommybsd.plala.jp'
DEFAULT_EMAIL_HOST = 'tommybsd.plala.jp'
add_virtualhost(DEFAULT_URL_HOST,DEFAULT_EMAIL_HOST)
DEFAULT_LIST_ADVERTISED = No
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] "
DEFAULT_REPLY_GOES_TO_LIST = 1
DEFAULT_GENERIC_NONMEMBER_ACTION = 2

aliases設定

/usr/local/mailman/bin/genaliases  aliasesファイル作成
chown mailman:mailman /usr/local/mailman/data/aliases*  aliasesファイル所有者変更
chmod g+w /usr/local/mailman/data/aliases*  aliasesファイルパーミッション変更

postfix設定ファイル編集

ee /usr/local/etc/postfix/main.cf

alias_maps = hash:/etc/aliasesalias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases  mailmanのaliasesファイルを追加

編集終了後
/usr/local/etc/rc.d/postfix restart ← postfix再起動

apacheのhttpd.conf編集

ee /usr/local/etc/apache22/httpd.conf

↓ 下記を追加
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
Alias /pipermail/ "/usr/local/mailman/archives/public/"
<Directory "/usr/local/mailman/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

<Directory "/usr/local/mailman/archives/public/">
AllowOverride None
Options FollowSymLinks Indexes
Order allow,deny
Allow from all
</Directory>

編集終了後
/usr/local/etc/rc.d/apache22 restart  apache再起動

mailman起動

/usr/local/etc/rc.d/mailman start

ブラウザで確認 ( http://tommybsd.plala.jp/mailman/admin )

mailman

Posted in FreeBSD | mailman はコメントを受け付けていません

postfixadmin

postfixのユーザーアカウント追加等をブラウザで管理

cd /usr/ports/mail/postfixadmin
make install clean

mysqlにpostfixというデータベース(メールユーザー用)を準備

mysql -u root -p
rootのpasswordを入力
mysql> CREATE DATABASE postfix;
mysql> GRANT ALL PRIVILEGES ON postfix.*
    -> TO postfixadmin@localnet
    -> IDENTIFIED BY 'パスワード';
mysql> exit

postfixadminのconfigファイル編集

cd /usr/local/www/postfixadmin/
cp config.inc.php.sample config.inc.php
ee config.inc.php
↓ 下記のように変更
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'パスワード';
$CONF['database_name'] = 'postfix';

$CONF['admin_email'] = 'postmaster@tommybsd.plala.jp';

$CONF['encrypt'] = 'cleartext';

$CONF['default_aliases'] = array (
    'abuse' => 'abuse@tommybsd.plala.jp',
    'hostmaster' => 'hostmaster@tommybsd.plala.jp',
    'postmaster' => 'postmaster@tommybsd.plala.jp',
    'webmaster' => 'webmaster@tommybsd.plala.jp'
);

postfixadminのディレクトリをapacheのwebサーバのディレクトリから見えるように変更

cd /usr/local/www/apache22/data
ln -s /usr/local/www/postfixadmin

postfixadminで作成されるメールユーザーを格納するためのユーザー(vmailuser)をadduserでnologinタイプで作成

postfixadminの初期セットアップ

ブラウザより ( http://tommybsd.plala.jp/postfixadmin/setup.php )

postfixcheck

エラー表示がないことを確認して、セットアップ用のパスワードを入力

ハッシュキーが生成され表示されるので、config.inc.phpに追加で編集する

$CONF['setup_password'] = '生成されたハッシュキー';

再度ブラウザで確認 ( http://tommybsd.plala.jp/postfixadmin/ )

postfixadminログインして、ユーザーアカウントを追加ができるかを確認

Posted in FreeBSD | postfixadmin はコメントを受け付けていません

postfix+Dovecot+SMTP認証

メールサーバpostfixインストール

セキュアIMAP、POP3対応のDovecotもインストール

メール自動振り分けのprocmailインストール

cd /usr/ports/mail/procmail
make BATCH=yes install clean

cd /usr/ports/security/cyrus-sasl2
make BATCH=yes WITHOUT_OTP=yes WITH_BDB=yes install clean

cd /usr/ports/security/cyrus-sasl2-saslauthd
make BATCH=yes WITH_BDB=yes install clean

cd /usr/ports/mail/postfix
make WITH_SASL2=yes WITH_TLS=yes WITH_BDB=yes WITH_MYSQL=yes install clean
Would you like to activate Postfix in /etc/mail/mailer.conf [n]?エンター
rehash

postfixのmain.cfを編集

ee /usr/local/etc/postfix/main.cf

#myhostname = host.domain.tldmyhostname = tommybsd.plala.jpコメント解除&変更(ホスト名をFQDNで指定)

#mydomain = domain.tldmyhdomain = tommybsd.plala.jpコメント解除&変更(ドメイン名を指定)

#myorigin = $mydomainmyorigin = $mydomainコメント解除(送信元メール)

#inet_interfaces = allinet_interfaces = allコメント解除(受信するネットワークアドレスを指定)

#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomainmydestination = $myhostname, localhost.$mydomain, localhost, $mydomainコメント解除(ローカル配送先)

#relay_domains = $mydestinationrelay_domains = $mydestinationコメント解除(リレーを許可するドメインを指定)

#alias_maps = hash:/etc/aliasesalias_maps = hash:/etc/aliasesコメント解除(エイリアスを設定)

#alias_database = hash:/etc/aliasesalias_database = hash:/etc/aliasesコメント解除(エイリアスを設定)

#home_mailbox = Maildir/home_mailbox = Maildir/コメント解除(Maildir形式)

#mailbox_command = /some/where/procmailmailbox_command = /usr/local/bin/procmailコメント解除&変更(procmailのパスを指定)最終行に下記を記入(SASLによるSMTP認証を使用)
# Cyrus-SASL configuration
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes

saslauth起動

ee /etc/rc.conf

saslauthd_enable="YES"追加(saslauthd起動)
saslauthd_flags="-a sasldb"追加(sasldb認証)

/usr/local/etc/rc.d/saslauthd start

SMTP  AUTH設定

ee /usr/local/lib/sasl2/smtpd.conf下記を記入
pwcheck_method: auxprop

SMTP  AUTHユーザー追加

saslpasswd2 -c -u tommybsd.plala.jp user_name
Password: user_passメールユーザーのパスワード入力
Again (for verification): user_passパスワード再入力
sasldblistusers2メールユーザー確認
user_name@tommybsd.plala.jp: userPassword

/usr/local/etc/sasldb2所有権変更

chown cyrus:mail /usr/local/etc/sasldb2
chmod 640 /usr/local/etc/sasldb2

sendmail停止

/etc/rc.d/sendmail stop
ee /etc/rc.conf
最終行に下記を記入
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

ee /etc/periodic.conf下記を記入
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

mv /etc/mail/mailer.conf /etc/mail/mailer.conf.org
ee /etc/mail/mailer.conf
下記を記入
sendmail    /usr/local/sbin/sendmail
send-mail  /usr/local/sbin/sendmail
mailq         /usr/local/sbin/sendmail
newaliases /usr/local/sbin/sendmail

ee /etc/make.conf最終行に下記を記入
NO_MAILWRAPPER=YES
NO_SENDMAIL=YES

postfix起動

ee /etc/rc.conf

postfix_enable="YES"追加

/usr/local/etc/rc.d/postfix start

dovecotインストール

cd /usr/ports/mail/dovecot
make BATCH=yes install clean

dovecot.conf編集

chmod 640 /usr/local/etc/dovecot.conf
ee /usr/local/etc/dovecot.conf

protocols = imap pop3 imaps pop3s managesieveprotocols = imap pop3変更(imap pop3に対応)

#ssl = yesssl = noコメント解除&変更(SSLを許可しない)

mail_location = mbox:~/mail/:INBOX=/var/mail/%umail_location = maildir:~/Maildir変更(Maildir形式)

dovecot起動

ee /etc/rc.conf

dovecot_enabel="YES"追加

/usr/loca/etc/rc.d/dovecot start

メールエイリアスのデータベース再構築

ee /etc/aliases

root:		user_name@tommybsd.plala.jp最終行に追加(root宛のメールを転送)

postalias /etc/aliases設定を反映

既存ユーザー用メールディレクトリ作成

mkdir -p /home/user_name/Maildir/{cur,new,tmp}
chmod -R 700 /home/user_name/Maildir
chown -R user_name:user_name /home/user_name/Maildir

新規ユーザー用メールディレクトリ作成

mkdir -p /usr/share/skel/Maildir/{cur,new,tmp}
chmod -R 700 /usr/share/skel/Maildir/

procmail設定

ee /usr/local/etc/procmailrc

SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
#LOGFILE=$MAILDIR/procmail.log

# 件名に「未承諾広告※」を含むメールを破棄する
:0
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTCQ\+NUJ6OS05cCIo
/dev/null

POP3接続確認

telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
USER user_name
+OK
PASS user_pass
+OK Logged in.
LIST
+OK 0 messages:
.
QUIT
+OK Logging out.
Connection closed by foreign host.

BASE64エンコードでパスワード作成

perl -MMIME::Base64 -e 'print encode_base64("user_name\0user_name\0user_pass");'
dXNlcl9uYW1lAHVzZXJfbmFtZQB1c2VyX3Bhc3M=

SMTP接続確認

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.freebsd.orz ESMTP Postfix
EHLO localhost
250-tommybsd.plala.jp
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH SCRAM-SHA-1 GSSAPI DIGEST-MD5 CRAM-MD5 NTLM PLAIN LOGIN
250-AUTH=SCRAM-SHA-1 GSSAPI DIGEST-MD5 CRAM-MD5 NTLM PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN dXNlcl9uYW1lAHVzZXJfbmFtZQB1c2VyX3Bhc3M=
235 2.7.0 Authentication successful
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

メール送信テスト

echo test|mail user_name
ls /home/user_name/Maildir/new
1271581750.5214_0.tommybsd.plala.jpmailが送信されている事を確認
rm -f /home/user_name/Maildir/new/*削除
Posted in FreeBSD | postfix+Dovecot+SMTP認証 はコメントを受け付けていません

phpPgAdmin

ブラウザでPostgreSQLデーターベース管理

cd  /usr/ports/databases/phppgadmin

make  install  clean

ブラウザで確認 ( http://tommybsd.plala.jp/phpPgAdmin/ )

pgadmin

Posted in FreeBSD | phpPgAdmin はコメントを受け付けていません

PostgreSQL

データーベースPostgreSQL92インストール

cd  /usr/ports/databases/postgresql92-server

make  install  clean

初期設定

/usr/local/etc/rc.d/postgresql  initdb

ee  /etc/rc.conf  に

postgresql_enable=”YES”  を1行追加

PostgreSQL起動

/usr/local/etc/rc.d/postgresql  start

Posted in FreeBSD | PostgreSQL はコメントを受け付けていません

SSL暗号化通信

秘密鍵作成

cd /etc/ssl
openssl genrsa -des3 -out server.key 2048
Generating RSA private key, 2048 bit long modulus
...+++
........................................................+++
e is 65537 (0x10001)
Enter pass phrase for server.key:パスフレーズ入力
Verifying - Enter pass phrase for server.key:パスフレーズ再入力

パスフレーズ削除

openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:先ほどのパスフレーズを入力
writing RSA key

chmod 400 server.key アクセス権変更

自己証明書作成

openssl req -new -x509 -days 3650 -key server.key -out server.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP国名
State or Province Name (full name) [Some-State]:Niigata都道府県名
Locality Name (eg, city) []:Niigata市区町村名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:tommybsd.plala.jpホスト名(または会社名)
Organizational Unit Name (eg, section) []:空エンター
Common Name (eg, YOUR name) []:tommybsd.plala.jpホスト名(または管理者名)
Email Address []:tommy@tommybsd.plala.jp管理者メールアドレス

chmod 400 server.crt  アクセス権変更

ブラウザインポート用バイナリDER作成

openssl x509 -in server.crt -out /usr/local/www/apache22/data/server.der -outform DER

apacheのhttpd.conf編集

ee  /usr/local/etc/apache22/httpd.conf

# Secure (SSL/TLS) connections
#Include etc/apache22/extra/httpd-ssl.confInclude etc/apache22/extra/httpd-ssl.confコメント解除

apacheのSSL用設定ファイルhttpd-ssl.conf編集

ee  /usr/local/etc/apache22/extra/httpd-ssl.conf

ServerName www.example.com:443ServerName tommybsd.plala.jp:443変更(サーバー名を記入)

ServerAdmin you@example.comServerAdmin tommy@tommybsd.plala.jp変更(管理者のメールアドレスを記入)

ErrorLog "/var/log/httpd-error.log"ErrorLog "/var/log/httpd-ssl_error.log"変更

TransferLog "/var/log/httpd-access.log"TransferLog "/var/log/httpd-ssl_access.log"変更

SSLCertificateFile "/usr/local/etc/apache22/server.crt"SSLCertificateFile "/etc/ssl/server.crt"変更(証明書へのパスを指定)

SSLCertificateKeyFile "/usr/local/etc/apache22/server.key"SSLCertificateKeyFile "/etc/ssl/server.key"変更(秘密鍵へのパスを指定)

CustomLog "/var/log/httpd-ssl_request.log"CustomLog "/var/log/httpd-ssl_request.log"コメント解除

Apache再起動

/usr/local/etc/rc.d/apache22  restart

ブラウザで確認 ( https://tommybsd.plala.jp/ )

Posted in FreeBSD | SSL暗号化通信 はコメントを受け付けていません

phpMyAdmin

ブラウザでMySQLデータベース管理

cd  /usr/ports/security/php5-mcrypt

make  install  clean

cd  /usr/ports/databases/php5-mysqli

make  install  clean

cd  ../phpmyadmin

make  install  clean

cd  /usr/local/www/apache22/data/phpMyAdmin

cp  config.sample.inc.php  config.inc.php

ee  /config.inc.php

$cfg['blowfish_secret'] = '';$cfg['blowfish_secret'] = 'passphrase';変更(パスフレーズを入力)

$cfg['DefaultLang'] = 'ja-utf-8';追加(デフォルト言語)
$cfg['Lang'] = 'ja-utf-8';追加(言語)
$cfg['DefaultCharset'] = 'utf-8';追加(デフォルト文字コード)

ee  /usr/local/etc/php.ini

;session.save_path = "/tmp"session.save_path = "/tmp" ←コメント解除(セッションデータ保存場所を指定)

;mcrypt.algorithms_dir=mcrypt.algorithms_dir="/usr/local/lib/libmcrypt" ←コメント解除&変更

;mcrypt.modes_dir=mcrypt.modes_dir="/usr/local/lib/libmcrypt" ←コメント解除&変更

apache 再起動

/usr/local/etc/rc.d/apache22  restart

Basic 認証設定

/usr/local/sbin/htpasswd -c /usr/local/www/apache22/data/phpMyAdmin/.htpasswd user_name
New password: user_passパスワード入力
Re-type new password: user_passパスワード再入力
Adding password for user user_name

ee /usr/local/www/apache22/data/phpMyAdmin/.htaccess

下記を記入
AuthType Basic
AuthName "Please Enter Your Password"
AuthUserFile /usr/local/www/apache22/data/phpMyAdmin/.htpasswd
Require valid-user

ブラウザで確認 ( http://tommybsd.plala.jp/phpMyAdmin/ )

myadmin

Posted in FreeBSD | phpMyAdmin はコメントを受け付けていません

php5

cd  /usr/ports/lang/php5

make  BATCH=yes  install  clean

cd  ../php5-extensions

make  BATCH=yes  WITH_GD=yes  WITH_MBSTRING=yes  WITH_MYSQL=yes  WITH_PGSQL=yes  install  clean

apache  の設定変更

ee  /usr/local/etc/apache22/httpd.conf

<IfModule dir_module>
    DirectoryIndex index.html index.htm index.cgiDirectoryIndex index.html index.htm index.cgi index.php変更(index.phpを許可)
</IfModule>

<IfModule mime_module>
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php追加(.phpファイルを使えるようにする)
</IfModule>

php.ini 設定

cp  /usr/local/etc/php.ini-production  /usr/local/etc/php.ini

chmod  640  /usr/local/etc/php.ini

ee  /usr/local/etc/php.ini

 short_open_tag = Offshort_open_tag = On変更(short_open_tagを許可)

 expose_php = Onexpose_php = Off変更(バージョンを隠す)

 max_execution_time = 30max_execution_time = 300変更(スクリプト実行時間)

 ;default_charset = "iso-8859-1"default_charset = "UTF-8"コメント解除&変更(デフォルト文字コード)

 upload_max_filesize = 2Mupload_max_filesize = 20M変更(最大アップロードサイズ)

 ;date.timezone =date.timezone = Asia/Tokyoコメント解除&変更(タイムゾーン指定)

 ;mbstring.language = Japanesembstring.language = Japaneseコメント解除(デフォルト言語)

 ;mbstring.internal_encoding = EUC-JPmbstring.internal_encoding = UTF-8コメント解除&変更(内部文字エンコーディングのデフォルト値)

 ;mbstring.http_input = auto mbstring.http_input = autoコメント解除(HTTP入力文字エンコーディング)

 ;mbstring.http_output = SJISmbstring.http_output = passコメント解除&変更(HTTP出力文字エンコーディング)

 ;mbstring.encoding_translation = Offmbstring.encoding_translation = Onコメント解除&変更(内部文字エンコーディングの有効・無効)

 ;mbstring.detect_order = autombstring.detect_order = autoコメント解除(文字コード検出のデフォルト値)

 ;mbstring.substitute_character = none;mbstring.substitute_character = none;コメント解除(無効な文字を代替する文字を定義)

apache 再起動

/usr/local/etc/rc.d/apache22 restart

ee  /usr/local/www/apache22/data/info.php  作成

<?php
   phpinfo();
?>

ブラウザで確認 ( http://tommybsd.plala.jp/info.php )

php5

Posted in FreeBSD | php5 はコメントを受け付けていません

mysql5

データーベースmysql55をインストール

cd  /usr/ports/databases/mysql55-server

make  install  clean

ee  /etc/rc.conf 

mysql_enable=”YES”  を1行追加

/usr/local/etc/rc.d/mysql-server  start

mysql の起動を確認後、データーベース初期設定

mysql -u root 
mysql> SET PASSWORD FOR root@localhost=password('mysql_root_pass');MySQLのrootパスワードを設定
mysql> SELECT user,host FROM mysql.user;登録ユーザーを見る 
+------+---------------------+
| user | host                |
+------+---------------------+
| root | 127.0.0.1           |
| root | ::1                 |
|      | tommybsd.plala.jp   | ←ユーザー名がない空ユーザーがある
| root | tommybsd.plala.jp   |
|      | localhost           | ←セキュリティ上好ましくないので削除する
| root | localhost           |
+------+---------------------+
6 rows in set (0.00 sec) 
mysql> DELETE FROM mysql.user WHERE user='';空ユーザーを削除 
mysql> SHOW DATABASES;データベースを見る 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec) 
mysql> DROP DATABASE test;データベースtestを削除 
mysql> CREATE DATABASE user_name;データベースuser_nameを作成 
mysql> GRANT ALTER,CREATE,DELETE,DROP,INSERT,LOCK TABLES,SELECT,UPDATE ON user_name.* TO user_name@localhost IDENTIFIED BY 'user_pass';ユーザーuser_nameを作成 
mysql> EXIT;ログアウト 
Bye

mysql にログインする場合

mysql  -u  root  -p

Enter  password:  mysql_root_pass

Posted in FreeBSD | mysql5 はコメントを受け付けていません

analog

ホスト側  jail 側にそれぞれインストール

apache ウェブサーバの統計を表示

cd  /usr/ports/www/analog

make  install  clean

ee  /usr/local/etc/analog.cfg を編集

LANGUAGE JAPANESE ←追加
LOGFILE /var/log/httpd-access.log ←ログファイル指定
OUTFILE /usr/local/www/apache22/data/analog/Report.html ←出力先指定
HOSTNAME "[tommybsd.plala.jp(host)]" ←ウェブサーバ名

/etc/crontab に下記を追加

#analog
55      23      *       *       *       root /usr/local/bin/analog

ブラウザで確認  ( http://tommybsd.plala.jp/analog/Report.html )

analog

Posted in FreeBSD | analog はコメントを受け付けていません