ここのサイトにある最近、Qiitaへ投稿すると、個人ブログへの投稿が少なくなってしまうというのは激しく同意!!
なので同じように FeedWordPress プラグインを使って同期してみた。
Qiitaの下書きにも使えるように、このサイトは JP Markdown を入れて、投稿にマークダウンも使えるようにしているからか
Qiitaから読み込んだ記事がかなり怪しい感じに(笑)なってますが、詳細は Qiita で確認してください。
$ sudo yum update $ sudo yum upgrade
$ sudo yum list available | grep パッケージ名
パッケージ名には httpd* とか指定する。httpd(ver2.2) と httpd24(ver2.4) が見つかる。
複数のバージョンが混在しない場合は httpd をインストールすればOK
バージョンによってパッケージが様変わりするのでバージョンの確認方法を
cat /etc/system-release
apache2
$ sudo yum -y install httpd24 $ vi /etc/httpd/conf/httpd.conf + <Directory /var/www/html> + AllowOverride all + </Directory> $ chkconfig httpd on $ service httpd start
$ sudo yum -y install mod24_ssl
参考:チュートリアル: Amazon Linux で SSL/TLS を使用できるように Apache ウェブサーバーを設定する
mysql も mysql(5.5-1)、mysql51、mysql55(5.5.58)、mysql56、mysql57 がある。
$ sudo yum install mysql57-server $ mysql_secure_installation
※ 201709版のAWSLinuxは上のリポジトリが入っているが、201712版は入っていないので注意すること。
ユーザ作成
$ mysql -p Enter password: mysql> CREATE USER ユーザ名; mysql> CREATE USER user IDENTIFIED BY [PASSWORD] ‘パスワード’; MySQL> CREATE DATABASE DB名 CHARACTER SET utf8; MySQL> GRANT ALL ON DB名.* to ユーザ名; MySQL> FLUSH PRIVILEGES; mysql> \q
PHPも、PHP(5.3)、PHP54、PHP55、PHP56、PHP70、PHP71 があるので妥当なバージョンを選択する。
PHP 7.1 インストール
$ sudo yum install php71 php71-opcache php71-mbstring php71-xml php71-gd php71-mysqli php71-zip php71-curl $ service httpd restart
wp-config.phpの上部に
// for https on if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { $_SERVER['HTTPS'] = 'on'; }
を追記。wp_opions の seturl と home を https:// に変更する。
□公式ドキュメント
Function Reference/is ssl « WordPress Codex
$ vi /etc/selinux/config - SELINUX=enforcing + SELINUX=disabled
$ sudo apt-get update $ sudo apt-get upgrade
apache2
$ apt-get -y install apache2 root@www:~# vi /etc/apache2/conf-enabled/security.conf # 25行目:変更 ServerTokens Prod $ vi /etc/apache2/mods-enabled/dir.conf # 2行目:ディレクトリ名のみでアクセスできるファイル名を設定 DirectoryIndex index.html index.htm $ vi /etc/apache2/apache2.conf # 70行目:サーバー名追記 ServerName xxx.xxx.xxx $ vi /etc/apache2/sites-enabled/000-default.conf # 11行目:管理者アドレス変更 ServerAdmin xxx@xxx.xxx + <Directory /var/www/html> + Options FollowSymLinks + AllowOverride all + </Directory> $ a2enmod rewrite $ systemctl restart apache2
https も使うなら SSL のモジュールを有効にする。
$ sudo a2enmod ssl $ sudo a2ensite default-ssl $ vi /etc/apache2/sites-available/default-ssl.conf + ServerName localhost:443 DocumentRoot /var/www/html : + <Directory /var/www/html> ← .htaccess とか使うならこれも必要 + Options FollowSymLinks + AllowOverride all + </Directory> $ sudo service apache2 restart
ファイヤーウォール設定
$ ufw status $ ufw allow to any port 80 $ ufw allow to any port 443 ← https も使うなら設定する。 $ ufw reload
インストール
$ sudo apt-get install mysql-server # 途中で root のパスワードを聞いてくるので入力して控えておく $ systemctl enable mysql $ systemctl start mysql $ mysql_secure_installation
ユーザ作成
$ mysql -p Enter password: mysql> CREATE USER ユーザ名; mysql> CREATE USER user IDENTIFIED BY [PASSWORD] ‘パスワード’; MySQL> CREATE DATABASE DB名 CHARACTER SET utf8; MySQL> GRANT ALL ON DB名.* to ユーザ名; MySQL> FLUSH PRIVILEGES; mysql> \q
リポジトリインストール
PHP 7.0 インストール
$ sudo apt-get install php7.0 php7.0-opcache php7.0-mbstring php7.0-xml php7.0-gd php7.0-mysqli php7.0-zip php7.0-curl $ sudo apt-get install libapache2-mod-php7.0 $ a2enmod php7.0 $ systemctl restart apache2
Composer で何かやろうとしたとき以下の様なエラーが出る
[Composer\Downloader\TransportException] The "http://packagist.org/p/provider-2017-07%248509dd1d7587d7cde6c580bdbac4c49c3f3b373f243c953dfce84ed8916a4c5a .json" file could not be downloaded (HTTP/1.1 404 Not Found)
diag を実行するとどこでエラーかわかるので、見てみると pubkeys でエラーになっていた。
$ composer diag : Checking pubkeys: FAIL Missing pubkey for tags verification Missing pubkey for dev verification Run composer self-update --update-keys to set them up
こんなときは pubkey を入れなおす。update-keys を実行すると以下の様に聞いてくるので
$ composer self-update --update-keys Enter Dev / Snapshot Public Key (including lines with -----): Enter Tags Public Key (including lines with -----):
https://composer.github.io/pubkeys.html の —–BEGIN PUBLIC KEY—– から —–END PUBLIC KEY—– までを全て入力する。
apt-get update で以下の様なエラーが出る場合
W: GPG エラー: http://ftp.debian.org jessie-backports InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553 $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
の様にキーを追加してやる。debian.org とかあるけれど keyserver.ubuntu.com で良いらしい。
]]>なんじゃこりゃ。ラズパイをSSDからブートできるキット!ええ!本末転倒感が半端ない(笑)
NUCより安価にNUCっぽくできるってわけだね。
対象となるスマホは Android が1台、iPhone が2台。
Androidは特に問題ない。ping も通るし、arp-scan でも見つかる。
arp-scan とは tcpdump から arp の情報を抜き出して一覧を表示できる機能。 |
問題は iPhone。
先ず ping しても値を返さない。
arp-scan の場合は -T に iPhone のマックアドレスを指定して、-r 10 (リトライ10回) ぐらいやると補足する頻度が上がる程度。
多分、無線LANルータとの通信がないと補足されないのだろう。
arp コマンドだとキャッシュが表示されてしまうのでリアルタイム性がなくなってしまう。
iPhone は (Linuxでは) Avahi (WindowsではBonjour) という機能でやり取りしているらしいので
sudo apt-get install avahi-utils
を入れてみて、avahi-browse -ar で見てみても、ローカル以外のサービスが表示されないんだよなあ。
誰か、iPhone で使える ping みたいな機能知りませんか?
]]>筐体はすごく気に入っているけど、今では入手困難な激レアマシンと思う。
標準で入っていたボードは今では使い物にならない程低スペックなのでほかした。
今は、CentOS 5.11 で動いていて(CentOS 7 の時代なのに・・・(笑))、ダイナミックDNS でアクセスできるようになっている。
で、この前セキュリティパッチを宛てたら SSL証明書の関係で https アクセスできなくなってしまった。
セキュリティ上の問題で http からのアクセスを禁止しているので、これは手痛い。
しかも Redmine のチケットで色々管理していたので、これにアクセスできないのはつらい。
# いくつかの内容は、このブログに転載していたが・・・。
必要に迫られてリニューアルしたいが、HD をバックアップする余裕もない。
幸い Mini-ITX のボードはあるので内蔵HDさえなんとかすれば新しい環境がたてられる。
今後こういうことで困らないように、VMware ESXi の上にゲストOS で CentOS 7 とか入れたいけれど
CPU が Atom のボードだからきついかもしれないなあ。
とにかく内蔵HD を何とかゲットしないといけないなあ。
結局原因は、アップデートで SELinux が有効になったため。
セキュリティ上、バージョンは伏せるけれど
うちのは CentOS で、Webサーバ上で SELinux を無効にするには、
/usr/sbin/selinux を /usr/sbin/selinux.org などにリネームしないとだめ。(バージョンばれた(笑)?)
で、アップデートしたら /usr/sbin/selinux が復活していたというオチ。
再度 selinux を selinux.org にリネームして再起動。
smb も自動起動から外れていたので、chkconfig smb on で自動起動設定。
原因がここなら・・・ということで、apache の SSL 証明書の参照先を以前のものに戻して・・・
Redmine にアクセスできるようになった。
一応外部から SSL 接続できる IPアドレスを制限しているのだが、調査のために一旦制限を解除したら
ネットが激重になったので調べてみたら、外部からの鬼アタックのせいだった。怖い怖い。
ともあれ、サーバリニューアルは最優先課題だなあ。
]]>/var/log/secure ログを確認する。(Raspberry Pi なら /var/log/auth.log)
以下の様なエラーが出ていたら間違いない。
Oct 27 13:08:31 サーバ名 sshd[3304]: Failed password for root from IPアドレス port 13069 ssh2 secure-20151025:Oct 24 10:03:15 サーバ名 sshd[22948]: Invalid user adolfo from IPアドレス
1行目:IPアドレスから sshを使って、rootユーザでログインしようとして失敗した。
2行目:IPアドレスから sshを使って、adolfoユーザでログインしようとした。
「IP 国 確認」 などでググるとIPアドレスから国コードを調べるサービスが出てくる。
IPアドレスの国を調べると、Bahrain、Botswana、Brazil、Bulgaria、Canada、China、Czech Republic、France、Hong Kong、India、Iran, Islamic Republic of、Italy、Japan、Korea, Republic of、Moldova, Republic of、Netherlands、New Zealand、Nigeria、Poland、Romania、Russian Federation、Serbia、Singapore、Somalia、Suriname、Ukraine、United States
/etc/ssh/sshd_conifg
PermitRootLogin no MaxAuthTries 6
1行目:リモートからのrootログインを不許可にする。リモートからは別のユーザでログインしてから su コマンドで root になる。
2行目:パスワードの間違えを何回まで許すかの設定。
設定した後は、sshd をリスタートする。
/etc/rc.d/init.d/sshd restart (CentOS6≧)とか
systemctl restart sshd (CentOS7)とか
特定の IP からの ssh アクセスを拒否る。
/etc/hosts.deny に以下の様に追記する。
sshd : 拒否するIPアドレス1 sshd : 拒否するIPアドレス2 :
でも、はっきりいってキリがない。
特定の IP からの ssh アクセスのみ許容
/etc/hosts.allow に以下を記述
ALL: 192.168 ALL: 127.0.0.1 sshd: 許可するIPアドレス
1行目:イントラからのアクセスを許可。172.16.x.x 系のネットワークなら 172.16 と記述
2行目:ローカルループバック接続を許可
3行目:外部からアクセスを許可する IP アドレスを記載。職場とか学校とか
/etc/hosts.deny
ALL: ALL
全て拒否
その後 sshd をリスタート
※ 設定を失敗するとターミナルからしか接続できなくなる。
また、DHCP とかで振り直されてIPアドレスが変わっても接続できなくなる。(イントラからはOKだけど)
ちなみに、上記の設定で refused connect すると、アタックスクリプトの仕様的に4回であきらめるみたい。
]]>そこで bootsrap を bootstrap っぽくなくする方法
無料の bootstrap テーマがいくつも配布されているので、そこから気に入ったものを適用する。
いずれも テーマがいくつか用意されている。気に入ったテーマをダウンロードして使う。
# それでも bootstrap くささは拭いきれないかもしれない。
bootstrap free theme でググると更にたくさん見つかるので、他にも良いのがあったら教えてください。
正式アップグレード前の 10 テクニカルプレビュー版を仮想マシンにインストールして試していたが
それよりも、メニューまわりとかが落ち着いた感じ。
ただ問題は Wi-fi がプチプチ切れること。
最初は調子よくつながっているのだが、しばらくするとネットワークエラーになって、
タスクバーにある Wi-fi のアイコンに マークが出ている。
そうなると、 Wi-fi を一度切断して接続しないとつながらない。自動で復帰したりしない。
と思ったら、結構有名な既知の問題らしい。
あとは、ストアを立ち上げても、 のままで何も表示されない。
普段使いでは特に問題ないので、Wi-fi 問題はもうしばらく様子見かな。
赤いのがうちので電波強度は十分。ちなみに緑のは近隣のルーター。特に干渉はしていない。
たいていの無線LANルーターの初期設定はチャンネル自動なので、近くに同じチャンネルのルーターがあると、自動的にチャンネルをずらす。
うちの近隣は1チャンネルと11チャンネルの電波強度が強めにでるので、自宅のルーターは6チャンネル固定に設定。
これで勝手に近隣がチャンネルを避けてくれるので電波干渉なくつかえる。
それでも切れる。
ちなみにIPアドレスをDHCPではなく固定にしても切れた。
もう有線しかないのかなあ。
しばらくいろいろ試してみよう。
(1) CloudFlash は、Wi-fi でアクセスできる SDカードで、カメラに入れておいて、スマホやPCから Wi-fi で接続して画像を取ったりすることができる。
(2) Flucard
(3) PQI Air Card
(4) Eye-fi
(5) FlashAir
などがある。
(1)、(2)、(3) は Linux が動いていて telnet で接続ができる。
(5) も Linuxベースだが、現時点では telnet では接続できないっぽい。しかしながらAPIが公開されるなど、相当にHotSpotになっている(笑)
参照:FlashAir Developers
CloudFlash を挿したデジカメやUSBアダプタ経由で電源を入れるとしばらくすると、無線の一覧に CloudFlash が表示される。
無線LANスポットから選んで接続すると、ブラウザから http://192.168.1.1/ にアクセスすることでCloudFlashのWebページが表示されるので、ここから設定したり画像をダウンロードする。
iOS や Android から接続できる専用アプリも用意されてる。
ちなみに、telnet や ftp でパスワードもなくさくっと接続できていろいろ遊べる。
通常は、CloudFlash が無線LANのサーバになる感じ。
/proc/cpuinfo
[code lang=”bash”]
Processor : ARM926EJ-S rev 5 (v5l)BogoMIPS : 421.06Features : swp half fastmult edsp javaCPU implementer : 0x41CPU architecture: 5TEJCPU variant : 0x0CPU part : 0x926CPU revision : 5Hardware : KeyASIC Ka2000 EVMRevision : 0000Serial : 0000000000000000
[/code]
/proc/version
[code lang=”bash”]
Linux version 2.6.32.28 (root@ubuntu-desktop) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-42) ) #137 PREEMPT Fri Mar 22 18:21:52 CST 2013
[/code]
でも、やはり自宅の無線LAN環境に接続したいので、インフラストラクチャモードにするべく、いろいろ試してみたのだがまだ解決できていない。
SDカードのルートディレクトリに autorun.sh を置くと、それが実行されるので、そこでネットワークの設定を記述する。
autorun.sh は linux 側の /etc/init.d/rcS の中に SD のルートに autorun.sh があれば、それを実行する記述があるので実行される。
基本的に SDカード内の linux は ReadOnly で、SD カード(/mnt/sd にマッピング)または、/mnt/mtd/ からコピーして使う。
autorun.sh にシンボリックリンクの設定をして、 SD に html を置けばそれが使えるようになるし、Perl のスクリプトも記述できる。
(ただし、Perl が動くのは /cgi-bin 以下のみ)
autorun.sh から wpa_supplicant を使ってWPA認証の無線LANルーターに接続できるようにするという理屈はわかるのだが
Wifi設定を弄っているだけあって、ちょっとしくじるとスグ接続できなくなる。
それでも、まあつながらなくなったら、SDカードをフォーマットすると工場出荷時に戻る。
# 多分 DICM とか 指定の画像とかがないと、リカバリするようになっているんだと思う。
こんなことなら PQI Air Card とか、最初からアクセスポイントに接続できるカードを買えばよかったよ。
CloudFlash 情報少なすぎ。