バーチャルホストのメールサーバ⑤
終結 メールサーバ構築編
この5日間、非常に充実したブログライフを過ごせた。
それも、Google先生という先人たちのおかげである。
今回のメールサーバ設定で参照させて頂いた各ページを紹介しておきたい。
Postfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)& STARTTLS or SSL/TLS を使ってみる | レンタルサーバー・自宅サーバー設定・構築のヒント
Postfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)& STARTTLS or SSL/TLS を使ってみる | レンタルサーバー・自宅サーバー設定・構築のヒントワリと古いqmail+vpopmail環境をPostfix+Dovecotに移行したいよ話。-[Id of Radiance ver.5]
id-of-radiance.infoPostfix + Dovecot 2 + PostfixAdmin + MySQL [がらくたネット]
Postfix + Dovecot 2 + PostfixAdmin + MySQL [がらくたネット]http://e-garakuta.net/techinfo/doku.php/linux/postfix-virtuale-garakuta.netpostfixadminさんきゅう堂 | さんきゅう堂
sunq.jpPostfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築(SuSE9.2/9.3編)
Postfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築(SuSE9.2/9.3編)How to set up RainLoop webmail in Ubuntu server - Xmodulo
xmodulo.compostfixadmin +procmailな環境でメールディレクトリの自動作成・削除 |…
postfixadmin +procmailな環境でメールディレクトリの自動作成・削除 | clicktx::Tech::MemoPostfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築(CentOS4.x編)
Postfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築(CentOS4.x編)メールサーバー間通信内容暗号化(Postfix+Dovecot+OpenSSL) - CentOSで自宅サーバー構築
centossrv.compostfixの設定 - quartetteの日記
d.hatena.ne.jp[Postfix]メールのリレー設定あれこれ | ごった煮 - tips about programming and…
park1.wakwak.comPostfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)を使ってみる |…
Postfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)を使ってみる | レンタルサーバー・自宅サーバー設定・構築のヒント[Linux] Postfixでサブミッションポート(587)を有効にする
[Linux] Postfixでサブミッションポート(587)を有効にするPostfix + Dovecot によるメールサーバの構築
Postfix + Dovecot によるメールサーバの構築メールサーバを作る(Postfix+PostfixAdmin) | AC-5
メールサーバを作る(Postfix+PostfixAdmin) | AC-5水銀室 PostfixとDovecotを利用するウェブメールサーバ -CentOS最短構築支援-
水銀室 PostfixとDovecotを利用するウェブメールサーバ -CentOS最短構築支援-EC2 Centos7 で、Postfix、Dovecot、Postfixadmin の構築 - Qiita
qiita.comPostfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)&…
Postfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)& STARTTLS or SSL/TLS を使ってみる | レンタルサーバー・自宅サーバー設定・構築のヒントCentOS PostfixAdminの設定
www.unix-power.net
実際にはもっと参考にさせていただいたページがあったと思うけど、まぁとりあえずこれくらいで…。
後はPostfix詳解の本とかも見たけど、それはまたの機会に…。
前回からの続き
tokixy56.hatenablog.com
tokixy56.hatenablog.com
tokixy56.hatenablog.com
tokixy56.hatenablog.com
Webメールの設定
Rainloop
Rainloop本家:
www.rainloop.net
Community Editionのダウンロードはこちら。
Community EditionはAGPL v3らしいので、自由に使える。
Rainloopインストール
インストール作業は非常に簡単だ。
Rainloopダウンロード、配置、ファイルアクセス権の設定
$ mkdir rainloop $ cd rainloop $ wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip $ unzip rainloop-community-latest.zip $ cd ../ $ sudo mv rainloop /var/www/html $ cd /var/www/html/rainloop $ sudo chown -R apache:apache * $ sudo find . -type d -exec chmod 755 {} \; $ sudo find . -type f -exec chmod 644 {} \;
上記の作業が完了したら、http://ドメイン/rainloop/
にアクセスすればもう表示されるはず。
Rainloopログイン画面
ただし、この状態だとまだ何も設定されていないので、まずは下記の管理者画面にログインして、初期設定をする必要がある。
http://ドメイン/rainloop/?admin
Rainloop管理者画面 http://ドメイン/rainloop/?admin
赤で囲ってあるところの表示が変わって、管理者画面であることが確認できる。
デフォルトでは管理者のログイン情報は、
アカウント: admin
パスワード: 12345
となっているので、ログイン後すぐに変更するようにしよう。
Rainloop パスワード変更画面
Rainloop デフォルトドメイン変更画面
パスワード変更後、デフォルトドメインを変更
Rainloop データベース設定画面
MySQL(MariaDB)にデータ(ユーザ情報)を保存するように設定。
面倒だったのでMariaDBのユーザ情報をrootのままにした…。
本当はRainloop用のユーザ作って設定した方が良いでしょう。
Rainloop ドメイン追加
最後にアクセスするドメインの設定をする。
RainloopはSquirrelMailの様に、Maildirを直接見に行くわけではない。
普通のメーラと同じように、メールサーバにアクセスしてメールを取得してくるものだ。
その設定をこのドメイン追加で実施する。
デフォルトではgmail.comが有効になっているので、これは外しておいた方が良いだろう。
これで設定完了だ。
後はPostfixAdminでドメインを追加し、ユーザを作成して、Rainloopのログイン画面からアクセスすればメールの送受信が可能になる…はず!!
メールサーバ構築編 あとがき
時間を掛けて、これほどまでのドキュメントを作成できたのも、理解ある会社、上司のおかげである。
実に素晴らしい会社だ。
給料はあまり高くないものの、もう一度言おう、給料はあまり高くないものの、技術者として胸高鳴ることができるので、もう感謝感謝である。
今後も精進したいと思う。
バーチャルホストのメールサーバ④
(枕話)哲学入門
まずはこれを見て欲しい。
- 作者: 飲茶
- 出版社/メーカー: 河出書房新社
- 発売日: 2015/11/06
- メディア: 文庫
- この商品を含むブログを見る
先日この本を入手した。
また積んである状態だが、読む本リスト・エントリーNo.2で控えている。
現在は西洋哲学史 下巻を読んでいる最中である。
史上最強の哲学入門の作者、飲茶氏は言う。
今までの哲学入門書には何が足りなかったのか。
そう、「バキ」成分である。
ボクは激しく同意した。
すべての学問は哲学が源流である。
つまりすべての学問には「範馬」の名に相当するような、最強の血が流れているわけである。
彼らは数々の猛者との論争を繰り広げ、より最強の真実を、より最強の正しさを求めて続けた。
ソクラテス然り、
プラトン然り、
デカルト然り、
カント然り、
フッサール然り、
ハイデガー然り、
ジャック・ハンマー然りである。
累々たる理論に対して、破壊、混沌、分類、再構築、ドーピングを繰り返し、現代でも正しさや、生き方についての疑問を投じる手段として使用される。
もちろんそれは我々のような武器を持たざるものが安易に手を出せるものではないのだが、史上最強の哲学入門は、初めて持つ武器、となってくれることであろう。
この世には、地上最強の腕力、史上最強の哲学、そしてもう一つの最強がある。
電子上最強のOS(無理矢理過ぎて哀愁)。
現存する正式なUNIXにはデニス・リッチー(Dennis MacAlistair Ritchie)の血が流れている。
いずれボクも、彼から正式な血を引く息子(のような気持ちでいる者)として、「電子上最強のOS入門」とかいう本を書けたら良いなと思う。
前回からの続き
tokixy56.hatenablog.com
tokixy56.hatenablog.com
tokixy56.hatenablog.com
PostfixAdminの設定
PostfixAdminの入手
本家サイト: Postfix Admin - Web based administration interface
PostfixAdminソフトは下記からダウンロード可能。
ダイレクトリンク
PostfixAdmin入手、解凍、移動
$ wget http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.93/postfixadmin-2.93.tar.gz
$ tar xzvf postfixadmin-2.92.tar.gz
$ sudo mv postfixadmin-2.93 /var/www/html/postfixadmin
/var/www/html/postfixadmin/config.local.php
移動したディレクトリ内に、新規にこのファイルを作成する。
<?php $CONF['configured'] = true; //setup.phpで作成された文字列を設定する。 $CONF['setup_password'] = 'ハッシュ値'; $CONF['default_language'] = 'ja'; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfix'; $CONF['database_password'] = 'パスワード'; $CONF['database_name'] = 'postfix'; $CONF['admin_email'] = 'メールアドレス'; $CONF['alias_domain'] = 'YES'; $CONF['dovecotpw'] = "/usr/bin/doveadm pw"; $CONF['show_password'] = 'YES'; $CONF['show_footer_text'] = 'NO'; $CONF['emailcheck_resolve_domain']='NO'; $CONF['create_mailbox_subdirs_prefix']=''; $CONF['new_quota_table'] = 'YES'; $CONF['quota'] = 'YES'; $CONF['used_quotas'] = 'YES'; $CONF['new_quota_table'] = 'YES'; $CONF['aliases'] = '100'; $CONF['maxquota'] = '0'; $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'YES'; $CONF['encrypt'] = 'md5crypt'; $CONF['user_footer_link'] = "http://ドメイン/postfixAdmin/users/main.php"; $CONF['mailbox_postcreation_script'] = 'sudo /var/www/html/postfixadmin/postfixadmin-mailbox-postcreation.sh'; $CONF['mailbox_postdeletion_script']='sudo /var/www/html/postfixadmin/postfixadmin-mailbox-postdeletion.sh'; $CONF['domain_postdeletion_script']='sudo /var/www/html/postfixadmin/postfixadmin-domain-postdeletion.sh'; ?>
上記が設定し終わったら、http://ドメイン/postfixadmin/setup.php
へアクセスする。
このページを表示すると、何が足りないとかメッセージが出る。
必要なモジュールのインストールや、MariaDBへのデータベースの作成など、エラーが無くなるまで実施する。
PostfixAdmin setup.php画面
"Setup Password"にパスワードを入力して「管理者追加」ボタン押す。
簡単過ぎるパスワードを入れると、
Your password must contain at least 3 character(s).
とか
Your password must contain at least 2 digit(s).
とか表示されるので、違うパスワードを入力する。
適切なパスワードを入力していると下記のような表示が出力される。
PostfixAdmin ハッシュ値出力
ここに表示されているハッシュ値をconfig.local.phpの'ハッシュ値'の部分にコピーする。
ハッシュ値記載後、"Setup Password"には上記で使用したパスワードを入力し、"管理者"、"パスワード"、"パスワード(確認)"のすべての項目を入力し、「管理者追加」ボタン押すと、下記のように管理者作成が完了した旨が表示される。
PostfixAdmin 管理者作成完了
設定が終わったらsetup.phpはリネームするなどして、実行できないようにしよう。
上記作業が終わったら、次はhttp://ドメイン/postfixadmin/login.php
へアクセスする。
PostfixAdmin ログイン画面
ここで先ほど追加した管理者情報を入力すればログインすることができる。
だが、まだこの時点では正常に動作しないので注意。
PostfixAdminディレクトリ内
$ cd /var/www/html/postfixadmin $ sudo cp ./ADDTIONS/postfixadmin-domain-postdeletion.sh . $ sudo cp ./ADDTIONS/postfixadmin-mailbox-postcreation.sh . $ sudo cp ./ADDTIONS/postfixadmin-mailbox-postdeletion.sh . $ sudo chmod 755 postfixadmin-domain-postdeletion.sh $ sudo chmod 755 postfixadmin-mailbox-postcreation.sh $ sudo chmod 755 postfixadmin-mailbox-postdeletion.sh $ sudo chown apache:apache ./template_c
/etc/sudoers
上記でコピーしたスクリプトに管理者権限での実行権限を与える。
apache ALL=(ALL) NOPASSWD: /var/www/html/postfixadmin/postfixadmin-mailbox-postcreation.sh apache ALL=(ALL) NOPASSWD: /var/www/html/postfixadmin/postfixadmin-mailbox-postdeletion.sh apache ALL=(ALL) NOPASSWD: /var/www/html/postfixadmin/postfixadmin-domain-postdeletion.sh
/var/www/html/postfixadmin/postfixadmin-domain-postdeletion.sh
# Change this to where you keep your virtual mail users' maildirs. basedir=/var/spool/vmailbox # Change this to where you would like deleted maildirs to reside. trashbase=/var/spool/vmailbox/.deleted-maildirs if [ `echo $1 | fgrep '..'` ]; then echo "First argument contained a double-dot sequence; bailing out." exit 1 fi if [ ! -e "$trashbase" ]; then echo "trashbase '$trashbase' does not exist; bailing out." exit 1 fi trashdir="${trashbase}/`date +%F_%T`_$1" domaindir="${basedir}/$1" if [ ! -e "$domaindir" ]; then echo "Directory '$domaindir' does not exits; nothing to do." exit 0; fi if [ ! -d "$domaindir" ]; then echo "'$domaindir' is not a directory; bailing out." exit 1 fi if [ -e "$trashdir" ]; then echo "Directory '$trashdir' already exits; bailing out." exit 1; fi mv $domaindir $trashdir exit $?
/var/www/html/postfixadmin/postfixadmin-mailbox-postcreation.sh
# Change this to where you keep your virtual mail users' maildirs. basedir=/var/spool/vmailbox if [ ! -e "$basedir" ]; then echo "$0: basedir '$basedir' does not exist; bailing out." exit 1 fi if [ `echo $3 | fgrep '..'` ]; then echo "$0: An argument contained a double-dot sequence; bailing out." exit 1 fi maildir="${basedir}/$3" parent=`dirname "$maildir"` if [ ! -d "$parent" ]; then if [ -e "$parent" ]; then echo "$0: strange - directory '$parent' exists, but is not a directory; bailing out." exit 1 else mkdir -p "${parent}" if [ $? -ne 0 ]; then echo "$0: mkdir -p '$parent' returned non-zero; bailing out." exit 1 fi fi fi if [ -e "$maildir" ]; then echo "$0: Directory '$maildir' already exists! bailing out" exit 1 fi #maildirmake "$maildir" #if [ ! -d "$maildir" ]; then # echo "$0: maildirmake didn't produce a directory; bailing out." # exit 1 #fi # 以下を追記(maildirmakeの代わり) ---> mkdir "$maildir" if [ ! -d "$maildir" ]; then echo "$0: mkdir didn't produce a directory; bailing out." exit 1 fi mkdir "${maildir}cur" if [ ! -d "${maildir}cur" ]; then echo "$0: mkdir didn't produce a directory; bailing out." exit 1 fi mkdir "${maildir}new" if [ ! -d "${maildir}new" ]; then echo "$0: mkdir didn't produce a directory; bailing out." exit 1 fi mkdir "${maildir}tmp" if [ ! -d "${maildir}tmp" ]; then echo "$0: mkdir didn't produce a directory; bailing out." exit 1 fi chown -R mailuser:mailuser "$maildir" chmod -R 700 "$maildir" #<--- exit 0
/var/www/html/postfixadmin/postfixadmin-mailbox-postdeletion.sh
# Change this to where you keep your virtual mail users' maildirs. basedir=/var/spool/vmailbox # Change this to where you would like deleted maildirs to reside. trashbase=/var/spool/vmailbox/.deleted-maildirs if [ ! -e "$trashbase" ]; then echo "trashbase '$trashbase' does not exist; bailing out." exit 1 fi if [ `echo $1 | fgrep '..'` ]; then echo "First argument contained a double-dot sequence; bailing out." exit 1 fi if [ `echo $2 | fgrep '..'` ]; then echo "First argument contained a double-dot sequence; bailing out." exit 1 fi #subdir=`echo "$1" | sed 's/@.*//'` subdir=$1 maildir="${basedir}/$2/${subdir}" trashdir="${trashbase}/$2/`date +%F_%T`_${subdir}" #maildir="${basedir}/${subdir}" #trashdir="${trashbase}/`date +%F_%T`_${subdir}" parent=`dirname "$trashdir"` if [ ! -d "$parent" ]; then if [ -e "$parent" ]; then echo "Strainge - directory '$parent' exists, but is not a directory." echo "Bailing out." exit 1 else mkdir -p "$parent" if [ $? -ne 0 ]; then echo "mkdir -p '$parent' returned non-zero; bailing out." exit 1 fi fi fi if [ ! -e "$maildir" ]; then echo "maildir '$maildir' does not exist; nothing to do." exit 1 fi if [ -e "$trashdir" ]; then echo "trashdir '$trashdir' already exists; bailing out." exit 1 fi mv $maildir $trashdir exit $?
と、まぁここまでやって初めてPostfixAdminが正常に動作する…はず!!w
あ、プロセス起動するの忘れてた
$ sudo systemctl start httpd $ sudo systemctl start mariadb $ sudo systemctl start postfix $ sudo systemctl start dovecot $ sudo systemctl enable httpd $ sudo systemctl enable mariadb $ sudo systemctl enable postfix $ sudo systemctl enable dovecot
あ、そういえばselinux無効化とポート解放も忘れてた
SELinux無効化コマンド
$ sudo setenforce 0
/etc/selinux/config
...
SELINUX=disabled
...
firewalld設定ファイルコピー
$ sudo cp /usr/lib/firewalld/services/imaps.xml /etc/firewalld/services $ sudo cp /usr/lib/firewalld/services/smtp.xml /etc/firewalld/services $ sudo cp /usr/lib/firewalld/services/smtp.xml /etc/firewalld/services/submission.xml
/etc/firewalld/services/submission.xml
<port protocol="tcp" port="587">
firewall設定コマンド
$ sudo systemctl restart firewalld $ sudo firewall-cmd --add-service=http --zone=public --permanent $ sudo firewall-cmd --add-service=imaps --zone=public --permanent $ sudo firewall-cmd --add-service=smtp --zone=public --permanent $ sudo firewall-cmd --add-service=submission --zone=public --permanent
はぁー今回長くなったな…。
次回
参考にさせて頂いたページと、RainloopというWebメールの設定をしたいと思う。
一応、ここまでで本筋の設定は完了する。
あとはThunderbirdなりiPhoneなりのメーラで設定すれば正常に動作するはずだ…。
自信ないけどw
それ以外のネットワークに関する設定は
バーチャルホストのメールサーバ③
(小言)OSを学ぼう ~xv6編~
ボクはIT技術の中で最も興味があることは、OSについてである。
OSと一口にっても、カーネルを指すのかその周りのライブラリやドライバを含めるのか、カーネルでもモノリシックなのかマイクロなのか、汎用なのかリアルタイムなのか、といろいろある。
どういったOSについて興味があるかというと、そのいずれもについてである。
OSの中でも実装しやすく、理解しやすい組み込みOSについて下記で学ばせて頂いた。
12ステップで作る 組込みOS自作入門
- 作者: 坂井弘亮
- 出版社/メーカー: カットシステム
- 発売日: 2010/05
- メディア: 単行本
- 購入: 24人 クリック: 252回
- この商品を含むブログ (39件) を見る
非常にわかりやすく、OSを動作させるのに必要なハードウェアについての知識も細かく書いてあり、納得がいくまで学ぶことができた。この本で学んでる時は、めちゃエキサイトしていた覚えがある。
ボクはこの本を読みながら、自分で自分なりのソースコードを書き、bootloaderも他の汎用的なものを利用させていただき動作させる、というような方法で学習した。
github.com
興味がある方は、ぜひぜひ一緒に遊びながら作りましょう、教えれることはな~んもないけども。
組込みOSを学んだ次は、汎用OSである。
xv6はwikipediaから抜粋すると、
つまり、現在の大多数のUnix(Linuxは含まない)の原始となるUnix第6版を現代のCPUアーキテクチャ用に書き換えたものである。 また、Unix第6版はpre K&Rと呼ばれる、ANSI Cとは全然違う仕様のC言語で書かれていたのだが、これがANSI Cで書きなおされている。これがMITの凄さか…
下記に詳細がある。
https://pdos.csail.mit.edu/6.828/2014/xv6.html
基本的に英語の文書しかないので、ハードルは上がるのだが、それでも読みたい内容盛りだくさんのはずだ。
現在下記の自分のサーバでhtml形式の文書を作成中。
xv6 book-rev8
このテキストブックもMITライセンス(のはず)なので、公開してみようかと思う。
まだ不完全な状態なので、もう少し綺麗に整形したりしていくようにしたい。
前回からの続き
tokixy56.hatenablog.com
tokixy56.hatenablog.com
バーチャルホスト用メールユーザの作成
ユーザ作成
$ sudo useradd -a mailuser
$ sudo passwd mailuser
メール受信用ディレクトリ作成
$ cd /var/spool/ $ sudo mkdir vmailbox $ sudo chown mailuser:mailuser ./vmailbox $ sudo chmod 775 ./vmailbox
Dovecotの設定
/etc/dovecot/dovecot.conf
!include conf.d/*.conf !include_try local.conf
/etc/dovecot/local.conf
dovecot.confに直接書かないための設定ファイル
auth_debug_passwords = yes auth_verbose = no auth_debug = yes listen = * disable_plaintext_auth = no auth_mechanisms = PLAIN LOGIN CRAM-MD5 # %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if there's no domain # %h - home directory mail_location = maildir:/var/spool/vmailbox/%d/%u:INBOX=/var/spool/vmailbox/%d/%u first_valid_uid = 10000 first_valid_gid = 10000 protocols = imap pop3 protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep } protocol pop3 { pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 } }
/etc/dovecot/conf.d/10-master.conf
service auth { ... unix_listener auth-userdb { #mode = 0666 #user = #group = } # Postfix smtp-auth #unix_listener /var/spool/postfix/private/auth { # mode = 0666 #} unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } # Auth process is run as this user. #user = $default_internal_user }
そして確か、
$ sudo chmod 700 /var/spool/postfix/private $ sudo chmod 666 /var/spool/postfix/private/* $ sudo chown -R postfix:root /var/spool/postfix/private
が必要だったはず…。
/etc/dovecot/conf.d/10-auth.conf
認証設定ファイルの指定
!include auth-sql.conf.ext
/etc/dovecot/conf.d/auth-sql.conf.ext
dovecotのデータベースへのクエリ設定ファイルの指定
passdb { driver = sql # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext }
/etc/dovecot/dovecot-sql.conf.ext
dovecotのデータベースへのクエリ設定
# for postfixadmin connect = host=localhost dbname=postfix user=postfix password=パスワード driver = mysql # Default password scheme. # depends on your $CONF['encrypt'] setting: # md5crypt -> MD5-CRYPT # md5 -> PLAIN-MD5 # cleartext -> PLAIN default_pass_scheme = MD5-CRYPT password_query = SELECT username AS user,password FROM mailbox WHERE username = '%u' AND active='1' user_query = SELECT CONCAT('/var/spool/vmailbox/', maildir) AS mail, 10000 AS uid, 10000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1'
/etc/dovecot/conf.d/10-ssl.conf
SSL設定
ssl = yes # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # dropping root privileges, so keep the key file unreadable by anyone but # root. Included doc/mkcert.sh can be used to easily generate self-signed # certificate, just make sure to update the domains in dovecot-openssl.cnf #ssl_cert = </etc/pki/dovecot/certs/dovecot.pem #ssl_key = </etc/pki/dovecot/private/dovecot.pem ssl_cert = </etc/postfix/mail.crt ssl_key = </etc/postfix/mail.key
/etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
httpdの設定 (2016-07-21 追加)
あまり詳細に書かず、今回の設定に必要だと思われるれる最低限のみ記載する。
/etc/httpd/conf/httpd.conf
User apache Group apache ServerAdmin username@localhost #【CentOS6,5の場合】バーチャルホスト対応 #ServerName ドメイン:80 ← コメントアウト NameVirtualHost *:80 #【CentOS7の場合】 ServerName ドメイン:80 # Further relax access to the default document root: <Directory "/var/www/html"> Options Indexes ExecCGI FollowSymLinks AllowOverride all Order deny,allow Require all granted </Directory> <IfModule dir_module> DirectoryIndex index.html index.php index.cgi index.py index.rb index.pl </IfModule> AddHandler cgi-script .cgi .pl .rb .py .php AddDefaultCharset UTF-8
バーチャルホスト対応
/etc/httpd/conf.d/virtualhost-00.conf
<VirtualHost *:80> ServerName any <Location /> Require all denied </Location> </VirtualHost>
以下は、バーチャルドメイン毎に追加。
/etc/httpd/conf.d/virtualhost-www.hogehoge.com.conf
<VirtualHost *:80> ServerName www.hogehoge.com DocumentRoot /var/www/html/hogehoge </VirtualHost>
/etc/httpd/conf.d/virtualhost-mail.fugafuga.com.conf
<VirtualHost *:80> ServerName mail.fugafuga.com DocumentRoot /var/www/html/fugafuga ErrorLog logs/virtual-error_log CustomLog logs/virtual-access_log combined env=!no_log </VirtualHost>
次回
httpdとPostfixAdminの設定ファイルを書く。
また、今回参照させて頂いた各ページの紹介をしておきたい。
というかそっちのページの方が説明等あってわかりやすいかもしれない。
httpdに関しては他に沢山資料があってそっちの方がわかりやすいと思うけども、とりあえず書いておこう。
設定ファイルにやたらDBへのクエリ設定書いてあるけど全然理解してませーん。
バーチャルホストのメールサーバ②
英語がまぁ上達しない
前回の記事の見出しは、イキって英語で書いてみたのだが、意味合いがちゃんと伝わる文章になっているのか不安だ。
ボクは英辞郎第六版を購入し、PDICを使って英文をなんとか読んでいる。
この業界にいるからには、技術的な文書に関してはリーディングくらいできるようになりたいのだが、まぁ上達しない。
普段使っている英語は「イッツハプニーング」くらいのものだ。
ゆくゆくは「ザッツラーイト」や「ハーイ、クリストファー」も言うようにしたい。
- 英語がまぁ上達しない
- Postfix & Dovecot
- 前回から続き
- Postfixの設定ファイル(MariaDBへのクエリ設定ファイル)
- /etc/postfix/sql/mysql_virtual_domains_maps.cf
- /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
- /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
- /etc/postfix/sql/mysql_virtual_alias_maps.cf
- /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
- /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
- /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
- プライベートSSL証明書の作成
- 次回
Postfix & Dovecot
Postfix、Dovecot、その他のデーモン間の関係
Debian Wheezy Mail Server – Postfix Dovecot Sasl MySQL PostfixAdmin RoundCube SpamAssassin Clamav Greylist Nginx PHP5 | XenLens
より抜粋
わかりやすい図だとは言わないが、概ね関連が分かる。
より詳細に知りたい場合は元記事も読んでみよう。
前回から続き
MariaDBにユーザとデータベースを作成
ユーザ作成
$ mysql -u root -p Enter password:[password] ... MariaDB [(none)]> create user 'postfix'@'localhost' identified by [PASSWORD] 'パスワード'; MariaDB [(none)]> create database postfix; MariaDB [(none)]> grant all privileges on postfix.* to 'postfix'@'localhost'; MariaDB [(none)]> exit
Postfixの設定ファイル(MariaDBへのクエリ設定ファイル)
/etc/postfix/sql/mysql_virtual_domains_maps.cf
user = postfix password = パスワード hosts = localhost dbname = postfix table = domain select_field = domain where_field = domain additional_conditions = and active = '1'
/etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user = postfix user = postfix password = パスワード hosts = localhost dbname = postfix table = mailbox select_field = maildir where_field = username
/etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
user = postfix password = パスワード hosts = localhost dbname = postfix query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_maps.cf
user = postfix password = パスワード hosts = localhost dbname = postfix table = alias select_field = goto where_field = address
/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user = postfix password = パスワード hosts = localhost dbname = postfix query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user = postfix password = パスワード hosts = localhost dbname = postfix query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
#handles catch-all settings of target-domain user = postfix password = パスワード hosts = localhost dbname = postfix query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
プライベートSSL証明書の作成
SSL証明書作成
詳細は、他の記事参照のこと。
$ openssl genrsa 2048 > mail.key Generating RSA private key, 2048 bit long modulus ..................................................+++ .................................................+++ e is 65537 (0x10001) $ openssl req -new -key mail.key > mail.csr 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) [XX]:JP State or Province Name (full name) []:[県名] Locality Name (eg, city) [Default City]:[市町村] Organization Name (eg, company) [Default Company Ltd]:[会社名] Organizational Unit Name (eg, section) []:[部署名] Common Name (eg, your name or your server's' hostname) []:[ドメイン名] Email Address []:[メールアドレス] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:[Enter] An optional company name []:[Enter] $ openssl x509 -days 3650 -req -signkey mail.key < mail.csr > mail.crt Signature ok subject=/C=JP/ST=Ken/L=City-Shi/O=DefaultCompany.Ltd/OU=Engineer/CN=example.com/emailAddress=example@example.com Getting Private key $ sudo mv /etc/postfix/mail.crt $ sudo mv /etc/postfix/mail.key
次回
Dovecotの設定ファイル及び、必須ユーザの作成とディレクトリ、ファイルのパーミッションの変更について記す。
4つの記事くらいに分割しちゃうなぁ…。
メール設定恐ろしや。
Re: vim ヤンクとクリップボードまわり
誰かに見てもらえてるって嬉しい
こちらの方に過去記事リンク貼っていただいた!!
baqamore.hatenablog.com
過去記事はこちら。
tokixy56.hatenablog.com
リンク貼ってもらったからには、自分でもいろいろ検証すべきだなと考え、動作確認してみたら、確かにダメだった…
問題の動作はこうだ。
某makefile
LD_PATH = "firmware/loader" OS_PATH = "firmware/os" MAKECMD = "make" ... # ----- bootloader make ----- .PHONY: loader loader : cd $(LD_PATH); make # ----- operating system make ----- .PHONY: os os : cd $(OS_PATH); make ...
上記のmakefileなどがあったとして、コメント部分以外のmakeをgmakeに変えたい時とかよくやるのは、
- MAKECMD = "gmake"に書き換え
- gmake上で yw して単語をコピー
- / で書き換える内容(make)を検索
- n で書き換える単語へ移動
- コメント部分のmakeは通過するのでもう一回 n
- vw して単語を選択
- p で書き換え
- n で書き換える単語へ移動
- コメント部分のmakeは通過するのでもう一回 n
- vw して単語を選択
- p で書き換え
- 繰り返す
というのをよくやる。
この場合、ボクの過去記事の設定では、末尾の単語を書き換えようとするとid:wooweezooweeさんの言及するように前後が入れ替わるような具合で動作する。 上記の場合だと、
某makefile置換後
# makeの前にあったスペースがgmakeの後ろに動く cd $(LD_PATH);gmake
これは、ノーマルモードだとカーソル位置が文字と文字の間にあるのではなく、文字の上にあるため、末尾を切り取った際にカーソルが後ろにずれる、ことが原因で起こる。 この説明だとものすごくわかりにくので、元のvnoremapをコメントアウトして、すべて手動で動作確認してみるとわかりやすい。
そこで、ボクの提案する苦肉の解決策は下記だ。
vimrc
" ビジュアルモード時の置換貼り付け vnoremap <silent> p ""c<C-r>+<ESC> " ビジュアルモード時の置換書き換え vnoremap <silent> c ""c
選択範囲をcで切り取り、インサートモードに入り、<c-r>でペーストしてインサートモードを抜ける…。 ちょっとクリーンな動作じゃないけど目的の動作は果たしてくれるから、まぁ良しとしよう…
また、これだと複数行をペーストするときにインデントが崩れまくる。
vim ペースト 崩れる
とかで検索するとめっちゃ出る。 これを回避するには、
vimrc(インデント崩れ対応)
" ビジュアルモード時の置換貼り付け vnoremap <silent> p <esc>:set paste<cr>gv""c<C-r>+<ESC>:set nopaste<cr>
どんだけやねんーぷ、となるがこれで複数行ペースト時も崩れないだろう。
DragonFlyBSDが気になって仕方がない
全然関係ない話だが、DragonFlyBSDが気になって仕方がない。
あとjail。
仮想化じゃないくてLinuxバイナリがそのまま動くからパフォーマンスは最高らしい。
よし、頑張ってノートPCにインストールして、泣きを見ようかと思う。
バーチャルホストのメールサーバ①
I have a playful parsonality.
最近、記事の更新が滞っていたのだが、これは仕事で考えたいことがあまりにも多く、帰ってきてからもなかなかそのことが頭を離れなかったからである。
次から次へと楽しい問題が舞い降りて充実した時間を過ごしていた。
キャッシュネームサーバの設定、社内サーバ構築とグループウェアの設定、管理しているコンテンツの管理方法の変更などなど…。
なかでも3週間くらいかけてハァハァ言いながら取り組んだ課題が、メールサーバの構築であった。
社内のメールサーバがQmail軸のちょっと古い環境だったので、ナウい環境にしたいということだった。
メールサーバの構築は今までずっと避けてきた課題であったのだが、避けるのもおかしくなかったのだな、と納得がいくくらい難しかった。
まず初めてメールサーバを立てようと思った場合、絶対にどこかで問題が生じる。
誰かが書いてくれている記事を見つけて、それ通りにやってもうまくいかないことが多い。
自分のサーバ環境と記事を掲載している人のサーバ環境は全く異なることも原因の一つだったりするが、まず第一にぶち当たる問題は「メールプロトコルをちゃんと知らない」ことだ。
メールプロトコルをちゃんと理解したうえでメールサーバを立てる人って、そんなにいるのかなぁ?
そんなこんなで、サーバ環境を整えつつ、メールプロトコルを理解しつつ、Google先生上のたくさんの記事を見つつメールサーバを構築した。
で、見出しの「ボクの人格はふざけてます」のことだが、どのようにふざけているかというと、このメールサーバ構築という課題に取り組んでいるとき、仕事中も他の仕事は秒速で終わらせて帰宅後も睡眠時間を削ってsshで向き合って向き合って、もう君以外愛せない、たとえどんなエラーを吐いたとしてもぉーおー、とキンキキッズになれそうなくらい没頭していた。
1週間経った頃、あそうか、ボクは人格破綻者なんだ、とハッキリ理解できた。
各メールプロトコルとメールエージェントの理解
実際にメールサーバを立てる際に、どのエージェント(デーモン)がどのプロトコルをどのように扱っているのか、という範囲がわからなく時があった。 それぞれの境界線をはっきりさせておくと後々設定していく内容が理解しやすいと思う。
エージェントとプロトコルの関係
David Byers davby@ida.liu.se IDA/ADIT/IISLAB ©2003–2004 David Byers Electronic Mail PRINCIPLES – DNS – ARCHITECTURES – SPAM. - ppt download
より抜粋
- MTA - Mail Transfer Agent
- MDA - Mail Delivery Agent
- MUA - Mail User Agent
- MRA - Mail Retrieval Agent
- MSA - Mail Submission Agent
- MAA - Mail Access Agent
こんなエージェントあるんや、って言うようなエージェントがある。
Postfixは多分、MTAとMSAに特化してるんだと思う。
DovecotがMDA、MRA、MAAを担ってるのかなという感じなのだが、実際各デーモンがどういった範囲でエージェントの作業をしているかはわかっていない…。
説明を少なめに、かつ分割します…
丁寧に書きすぎるとブログの範疇を超えてしまいそうなので、設定ファイルと簡潔な説明を心がけて記載しようと思う。
あまりにも設定数、設定ファイルが多い…。
というか、ちゃんとすべてをカバーして書けるかどうかも怪しい。
手順書というよりは、メモ書き程度で見るようにしてほしい。
環境
OS: CentOS Linux release 7.2.1511 (Core)
- postfix-2.10.1-6.el7.x86_64
- PostfixAdmin 2.93
- dovecot-2.2.10-5.el7.x86_64
- mariadb-5.5.47-1.el7_2.x86_64
- php-5.4.16-36.1.el7_2.1.x86_64
- RainLoop 1.10.0.107
パッケージインストール
$ sudo yum -y install mariadb \ postfix \ postfix-ssl \ dovecot \ dovecot-mysql.x86_64 \ httpd \ php \ php-mysql \ php-mbstring \ php-pear \ php5-mcrypt \ php-mcrypt \ php-imap \ cyrus-sasl \ cyrus-sasl-plain \ cyrus-sasl-md5 \ libapache2-mod-php \ libapache2-mod-php5
Postfixの設定ファイル
/etc/postfix/main.cf
myhostname = [FQDN] mydomain = [ドメイン名] myorigin = $mydomain inet_interfaces = all inet_protocols = ipv4 mydestination = localhost.$mydomain, localhost mynetworks = 192.168.0.0/24, 127.0.0.0/8, [アクセスを許可するIP] relayhost = [プロバイダのsmtpサーバ]:587 #OP25B対策のため home_mailbox = Maildir/ smtpd_banner = $myhostname ESMTP unknown #SMTP-Auth Settings smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_mechanism_filter = plain smtp_sasl_security_options = noanonymous smtp_sasl_path = private/auth smtp_sasl_tls_security_options = noanonymous smtp_tls_CApath = /etc/ssl/certs/ca-certificates.crt smtp_tls_security_level = may smtp_tls_loglevel = 1 #SMTPS local_transport = local smtpd_use_tls = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_local_domain = [FQDN], [ドメイン名] smtpd_client_restrictions = reject_rbl_client bl.spamcop.net smtpd_tls_cert_file = /etc/postfix/mail.crt smtpd_tls_key_file = /etc/postfix/mail.key #smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt #smtpd_tls_key_file = /etc/postfix/mail.pem #broken_sasl_auth_clients = yes broken_sasl_auth_clients = no smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_tls_security_level=encrypt smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache smtpd_tls_session_cache_timeout = 3600s #Virtual Domain w/MySQL virtual_mailbox_base = /var/spool/vmailbox virtual_minimum_uid = 100 virtual_uid_maps = static:10000 virtual_gid_maps = static:10000 virtual_transport = virtual virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_mailbox_limit_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later. virtual_overquota_bounce = yes
/etc/postfix/master.cf
smtp inet n - n - - smtpd submission inet n - n - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING - tlsmgr unix - - n 1000? 1 tlsmgr
OP25B対策
/etc/postfix/sasl_passwd
下記は、自分が契約しているプロバイダのメールアドレスとパスワードを設定する。 gmailを設定する方法もあるのだが、それは必要になった場合に書くようにしよう。
[smtpサーバ名]:ポート メールアドレス:パスワード
下記コマンドで/etc/postfix/sasl_passwd.dbが作成される。
$ sudo postmap /etc/postfix/sasl_passwd
main.confで設定したリレーホストへ接続し、ここで設定したプロバイダのメール認証情報で認証してメールリレーすることにより、OP25Bを回避して正しい相手先へメールを送信することができるようになる。
次回
PostfixからMariaDBへ発行するクエリの設定ファイルを書く。
メール設定がこれほどまでに大変だったとは、と痛感するドキュメント量になることであろう…。
番外編① Googleのサービスを使おう
ITぽいサービスを利用してみたい
我がブログ「ソフトウェアとハードウェアの境界」は、あくまで組込み開発や開発環境における、技術的な誰得情報を提供することを標榜しているのだが、最近全くその方面は手付かずである。
現在の職場に社内SEとして転職してから、その他のハイエンドな技術、ネットワーキングや仮想化などについて知るのが楽しくて仕方がない。
そういったことの勉強も含めて、職場で知り合ったウェブ技術者やデザイナさんと連絡を取り合って、趣味的な感じでウェブページを作ろうと思っている…思っているだけでまだ何もできていないのだが…。
一人ですべてのステップをこなしていくのは、それはそれで面白いのだが、何人かと手を合わせて何かを作っていく過程、というのも非常に面白いと思う。
完成ではなく、その過程こそ楽しい、はず。
ではその過程をより面白くする方法は何かないかな、と考えた時に、種々のウェブサービスを利用することが挙げられる。
いわゆる「グループウェア」と呼ばれるサービスだ。
ボクは今の会社に入って初めて、サイボウズやチャットワークというものを知った。
以前の職場では開発業務に関わったりしていたのだが、グループウェアは全く利用することはなかった。
「出勤後のルーティン」の中に、そのサイボウズの通知確認や予定の確認が入るようになって、「うわぁIT業界っぽいサイコー」と思いながら毎日出社している。
グループウェアごとに特色もあり、どのように利用するかが鍵となる。
サイボウズLiveとチャットワークについては番外編②、③で書いてみようと思うが、まずはGoogleのサービスの利用方法から、声を大にして伝えたい。
Googleの有名なサービスとしては、GmailやGoogleカレンダー、Googleドライブなどが挙げられる。
他には、Googleマップ、アドセンス、YoutubeやGoogle翻訳などたくさん提供されているのだが、ボクが普段使っているサービスをまとめてみた。
ボクが利用しているGoogleの主なサービス
- Google Chrome(ブラウザ)
- Gmail
- Googleカレンダー
- Googleハングアウト
- Googleキープ
これらについての概要と主な使い方とおすすめの使い方、及びその他のサービスや端末とどのように連携させて使うのが良さそうか、提案していきたいと思う。
- ITぽいサービスを利用してみたい
- Google Chrome(ブラウザ)
- Gmail & Googleハングアウト
- Googleカレンダー
- Googleキープ
- GoogleキープのリマインダーはGoogleカレンダーに表示される
- 総評
- 私事
Google Chrome(ブラウザ)
Google Chrome イメージ
まずは何と言ってもブラウザである。
iPhoneアプリはこちら。
Chrome - Google のウェブブラウザを App Store で
ブラウザの概要的な説明については割愛する。
今の仕事をするようになってから、ブラウザの重要性というものを本当に理解した。
サーバ管理やドメイン管理、グローバルIPアドレス管理などもSEの作業範囲なのだが、プロバイダやレジストラの管理画面に接続するのはブラウザだ。
そこにアクセス出来ないとか、表示が出来ない・崩れるとか、安全性・安定性を欠くようなブラウザは使用できないということだ。
こんにち普通に利用さているブラウザの中にはそのような不具合を含むものはそんなに無いとは思うのだが…
また、社内にIP電話を配備しているのだが、このIP電話の設定を操作するのも、LAN内からそのIP電話にブラウザからアクセスする。
その他ルータやファイアウォール、社内のセキュリティツールの管理画面もブラウザから操作するものがほとんどと言っていい。
はじめ、GoogleがChromeBookなるものを売りだしたと聞いた時には「何言い出すの」と思ったけど、日々の作業の中でブラウザを利用する機会が圧倒的に多いということが分かったとき、ある程度納得せざるを得なかった。
ボクの勝手な評価だが、Google Chromeはほぼ完璧だ。
しかし、一つだけ大きな難点がある。
印刷機能。
印刷さえ充実すればChrome一本で生きていける。
これ以上何も言わないが、印刷についてはFirefoxの方が数倍上手である。
また、もう一つ便利な使い方として、タブの固定がある。
タブを固定しておくことによって、Google Chrome起動時に開くページを固定させることができる。
上記のChromeの図の様に、ボクはタブの固定機能を利用しGmail、Googleカレンダー、Googleキープを起動時に開くようにしている。
以下のサービスの説明は、Google Chromeから利用することを前提としている。
FirefoxやEdgeなどからも利用できるはずだが、ボクは利用していない。
Google Chromeを利用して、アプリや拡張機能を追加していけば更に最強のツールになってくれること間違い無しだ。
Gmail & Googleハングアウト
Gmail & Googleハングアウト イメージ
Googleハングアウト イメージ
こちらはハングアウトのみのページ。
iPhone版 ハングアウト イメージ
AndroidはGmail、Googleハングアウトを標準搭載している。
iPhoneのアプリはこちら。
Gmail - Googleのメールを App Store で
ハングアウトを App Store で
一つ目の画像「Gmail & Googleハングアウト イメージ」を見てもらいたい。
こちらのウィンドウはいつものGmailの画面だ。
左下を見てもらいたいのだが、ここにGoogleハングアウトのメンバリストが表示されている。
実際にGmailのタブでハングアウトしようするとこのようになる。
Gmailを見ながらハングアウトで連絡を取れるわけだ。
ハングアウトの履歴はGmailの「チャット」Boxで履歴を遡れる。
LINEの様にグループでのチャットもあるし、写真の送信も可能。
動画の送信は出来ないが、これはGoogleドライブと連携することによって解消される。
Skypeの様に無料で音声通話、ビデオ通話も利用できる。
まぁ、この手のチャットツールは似たり寄ったりなので、もうすでに利用しているサービスがあると、わざわざハングアウトへ移行する必要も無いのかもしれない。
しかしこれからの利用を考える、あるいはAndroid端末を利用しているのであれば、ぜひともGoogleハングアウトをおすすめする。
このサービスの決め手
UI(ユーザインターフェース)とスマートフォンとの親和性の高さ、かなと思う。
実際のところ、機能面ではSkypeやLINEと何ら変わりはない。
Skype for webやoutlook.com、LINEのChromeアプリがあるのでブラウザでの使用という点でも同様である。
ただ、Googleハングアウトは複数のチャットを同時に表示できるので、見やすく操作性も高いと思う。
そして私は打倒LINEを掲げて現在活動中なので皆さんご協力よろしくお願いします。
PC操作してるとスマホいじるの面倒でねぇ…。
まぁLINEユーザ数は多すぎて打倒は不可なんですけど…。
Googleカレンダー
Googleカレンダー イメージ
これについては言わずもがなであるが、みんな大好きGoogleカレンダーである。
iPhoneアプリはこちら。
Googleカレンダーを App Store で
まずは、Googleカレンダーの短所から挙げたいと思う。
何故短所からなのか。
Googleに早く対応してほしいからだ!!笑
Googleカレンダーの短所
- iPhoneでプッシュ同期されない
これは由々しき事態である。非常に忌々しい。これはGmailも同様で、以前からiPhoneでGmailを利用していたユーザは怒り心頭であっただろう。
これはGoogleだけが悪いのではなくAppleも良くない対応があって、Push通知の終焉はそのいざこざの結果ようだ。
もうみんな仲良くしてよぉ~ん。
以上、短所でした。
そんなに短所は多くないと思う。
例えば比較対象として、Outlook.comのカレンダーがあるのだが、これはiPhoneと同期すると、変更内容を即反映してくれる。
iPhoneのフェッチ同期は最短でも15分。
うーん、まぁ大丈夫と言えば大丈夫なんだけど…。
しかし、その短所を払拭しきる魅力がGoogleカレンダーにはある。
Googleカレンダーの長所
- 予定入力がスムーズ
これがGoogleカレンダーを利用する上で最も魅力的なポイントだ。 これに関しては他のカレンダーのサービスを利用すれば一目瞭然である。
またこちらのページを参照して欲しい。
bita.jp - Googleキープと連携できる(リマインダー)
リマインダー機能との連携というのは他のサービスにもあると思うが、Googleキープも非常に使いやすいのでぜひ利用して欲しいと思う。
※Googleのリマインダーは2016-04-22現在、iPhoneのリマインダーと同期できない。
というか同期できるようになるのかなぁ…
Googleさん期待してます。
他にもいろんな機能があるが、項目だけ上げておく。
まずは知ることが大事ですよね。
詳細については検索すれば見つかるはず。
- 他のユーザと共有できる
他の人とカレンダーを共有する - カレンダー ヘルプ - GoogleカレンダーをiCal形式として他のカレンダーから取り込む(同期する)ことができる
Outlook.com でカレンダーをインポートまたは購読する - Outlook.com のヘルプ - スマホとの連携が可能(フェッチのみ)
あ、やばいもう無い笑
Googleカレンダーの使用方法
ボクはあまりたくさんのカレンダーを作成せず、シンプルに利用している。
「Calendar」はそのままスケジュールとして利用。
「Log」カレンダーを作成しているが、その都度適当に何をしたか、些細なことを記録・ロギングしている。
日記を書きたいのだけど、まとめて書くよりはその都度書いた方がわかりやすくて良いなと思った。
「リマインダー」はスケジュールというよりは、あれを買うとか、ここに行くとか、あいつに連絡するとか、これも些細な予定を書くようにしている。
なんにせよ、思いついたとき、「メモらなければ」と思ったときにすぐに入力できることが大事だと思う。
Googleキープ
Googleキープ イメージ
Google謹製のメモサービスである、「Googleキープ」。
Android、iPhoneのアプリももちろん存在する。
Google Keep - メモとリスト - Google Play の Android アプリ
Google Keep - 思い付いたら、どこにいてもメモを App Store で
メモアプリも現在ではこの世に数多あるのだが、すべての端末でシームレスに内容を確認できるものは限られてくる。
中でもGoogleキープは簡単・シンプルなメモというイメージで、そのメモのラベル付けやあとからリマインダーに変更したりと、わかりやすい機能をいくつか搭載している。
リマインダー機能に関しては、Googleカレンダーの方にもうすでにあるのだが、Googleキープで作成したリマインダーもGoogleカレンダーに反映されるようになっている。
とりあえずメモっておいたタスクなどの内容を、あとでリマインダーにして日付を指定する、といった使い方にも適している。
GoogleキープのリマインダーはGoogleカレンダーに表示される
01.Googleカレンダー
まだ何も予定を追加していない状態。
02.Googleキープで予定を追加
「タスク1」を追加する。
03.Googleキープのメモをリマインダーにする
人差し指マークをクリックして、リマインダーを設定する。
04.Googleカレンダーで確認
このように、Googleカレンダーで表示される。
上記のように利用していけば、とりあえずメモして、後で日程を設定するということもスムーズにできる。
また、ラベル機能を利用すればメモをあとから種別ワケすることもできる。
他には、ウェブページを右クリックすることによって、そのページタイトルとURLをGoogleキープで保存することができる。
わざわざブックマークに保存したくない場合は、Googleキープに保存して、どのような用途で保存したのか、メモとともに残すなどすると、後で振り返る時にも便利だ。
総評
上記のすべてのサービスはGoogle Chromeを介して操作ができ、スマートフォンにも対応しているので内容を確認することはいつでもどこでも可能だ。
効率良く記録を残す方法を考案している方や、誰かと連絡を取りながらデータやスケジュールの管理をする場合などは、ぜひとも紹介したGoogleのサービスを利用して欲しいと思う。
IT系の企業でも上記のようなサービスを上手く使えていないようだ。
というか、どのように使用したらいいのかよくわかっていない。
そのサービスで一体何ができて、どういう風に利用すれば自社にとって有益かなど、なかなか考える時間が無いのかもしれない。
しかし、こんなに便利な無料サービスを利用しない手は無い。
会社で利用するのでなく、個人での利用でも非常に有益である。
まずはどういった機能があり、何が可能で、自分がどういう方法で利用すれば大事な記録を取り損ねないようにできるか、ぜひとも考えてもらいたい。
私事
ハングアウトを利用しだしてからLINEで連絡を取り合うのが億劫になってきた。
ずっとPCで作業する人は同じような気持ちではないだろうか。
LINEのChromeアプリもあるんですけどね、なんかちょっとLINEって気がひけるんですよね。
スタンプのせいかな?
そして、みんな、ハングアウトを利用するようになったらぜひとも一緒に遊びながら開発でもしようじゃないか。
いつでも連絡をお待ちしている。
(このブログの著者は、宗教、特殊なビジネス、独特なセミナーの受講など、怪しい事は一切しておりません。また、Googleの回し者でもありません。少し頭がオカシイだけです。ご安心ください。一緒に開発してみたいと言う方、いつでも連絡お待ちしております。)
Let's enjoy develop!!