CentOS7のfirewalldで使用するポートを変更

iptablesとはいろいろ違うfirewalld。

登録されているサービスの一覧
# firewall-cmd –get-service

で出てくるサービスは以下のフォルダ内のxmlファイルです。
/usr/lib/firewalld/services

中身に使用するポートが書いてあるので、たとえばhttp.xmlのportを80から8080に切り替えて

# firewall-cmd –permanent –add-service=http
# firewall-cmd –reload

広告

CentOS7でgitoliteを導入

gitolite3とかいうのがyumで落とせますがうまくいかなかったので。
1台のサーバで作業完結するところまで(2台目とかローカルPCとかが出てくるとわかりづらい……)


//まず必要なパッケージをインストール。
# yum install git perl-Data-Dumper

//gitolite用のユーザを追加します。ユーザ名は何でもいいそうなのでgitoliteで。パスワード使いません。
//パスワード使わないのでPermitEmptyPasswordは切っておかないと。
# useradd gitolite

//gitolite用ユーザに切り替えてSSHキーの作成とgitoliteのクローン、設定をします。
# su gitolite
$ cd

//SSHキーもパスワード使わないです。コマンド後は全部Enterで進みます。
$ ssh-keygen

//gitoliteをクローンして、インストール。
$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin

//「管理者として使用する」「gitolite用に作ったのとは別のユーザ」の公開鍵を/home/gitoliteにおいてください。
//読み取り権限の付け忘れに注意。
# cp /home/gitolite
# chomod 644 /home/gitolite/*.pub

//gitoliteユーザで管理者としてセットアップします。以降とりあえず管理者はhogeとします。
$ cd
$ $HOME/bin/gitolite setup -pk hoge.pub

//これでhogeが管理者として登録されたので、サーバに$hogeでログインします。
//git用の設定をします。
$ git config --global user.name "hoge"
$ git config --global core.quotepath false

//管理用のリポジトリをクローンします。
$ git clone gitolite@localhost:gitolite-admin

//ここまででセットアップはOK。ユーザの追加とリポジトリの追加は以下のようにします。
//まずユーザを作成。
# useradd huga
# passwd huga
# su huga

$ git config --global user.name "huga"
$ git config --global core.quotepath false

$ ssh-keygen

//管理者ユーザに戻ってから登録。
$ cd gitolite-admin
$ sudo cp /home/huga/.ssh/id_rsa.pub keydir/huga.pub

//リポジトリの追加と権限設定。confに書いてその内容をpushすることでリポジトリができます。
//とりあえずhugaが管理するhugahugaリポジトリを。
$ vi conf/gitolite.conf
repo hugahuga
RW+ = huga

//管理リポジトリにコミット
$ git add conf
$ git add keydir
$ git commit -m "comment"
$ git push

owncloud7でダウンロードしたフォルダのzipファイルがMacOSXやLaplusでは開けない

表題の通りの事象がowncloud7では起きています。
「ファイル “ほにゃらら.zip” はアーカイブファイルではありません。」と言われるようなエラー。

原因
・owncloud7からは大量のファイル、大容量のファイルを圧縮するため、zip64を使用することにした模様
・MacOSXの標準の解凍およびLaplusなどの古いソフトではzip64が解凍できない

Laplusはもう更新もしてないし7zipとかに乗り換えたらいいと思います。
MacOSXはunarchiverだったかな、そういうのをStoreからダウンロードすれば。

開発者も直そうとしているみたいですが今のとこ進捗ないです。
(開発版のコードでWindowsでの対応はできたみたいですが、MacOSXがだめ)

CentOS7 詰まった点

# nmcli c s
としたところ・・・

名前 UUID タイプ デバイス
有線接続 1 (略) 802-3-ethernet enp0s3
enp0s3 (略) 802-3-ethernet —
enp0s8 (略) 802-3-ethernet —
有線接続 2 (略) 802-3-ethernet enp0s8

なんか接続名が日本語。VirtualBoxだけどなんでかな。

まあ原因は何にしろ、スペース入りの全角の名前とか使いづらいので、これを直す(というかリネームする)には

# nmcli c m “有線接続 1” connection.id “eth0”
# nmcli c m “有線接続 2” connection.id “eth1”

ついでにDHCP接続から固定IPに直すには

# nmcli c m eth1 ipv4.addresses “192.168.0.3/24 192.168.0.1″ //ipアドレス/サブネット GW
# nmcli c m eth1 ipv4.method “manual”
# nmcli c d eth1
# nmcli c u eth1

(connectionじゃなくてdeviceごと切るって解説もあったけど、connectionのdown/upだけでいい気がする)

FFEXおもしろい

ファイナルファンタジーエクスプローラーズ lite(体験版)やってみた。おもしろい。

おもしろい、けど序盤が不親切なのと、やりこみに不安を感じる。

序盤の不親切さ

1.通常攻撃でAP回復できることが分かりづらい
 チュートリアル通りに進むとAP切れで困ったり(待機以外で)APが回復したりする場面を見ることがないので、通常攻撃でAP回復できることが分かりづらい。
2.レゾナンスをためてクリスタルドライブするのが分かりづらい
 チュートリアルでも詰まった点。敵を倒す、アイテムドロップする、拾う、ゆっくり次の敵を探す、歩いて近づく(AP回復のために)、とかやっているとぜんぜんレゾナンスが溜まらないので、クリスタルドライブ発動まで行かない。レゾナンスがだいたい140ぐらいないと発動可能にならないのも気づきづらさのひとつ。100だと思っちゃうよね。

チュートリアルが終わってドラゴンを倒すころにはだいたい分かっておもしろいです。

やりこみの不安は、オリジナルアビリティ。これ将来的に「この効果要らなかったな・・・」ってなったとき
・いらない効果消せる
・最初から作り直し
のどっちになるんですかね。すごく後者の予感がしていますけど、そうするとえらい厳選が必要なゲームになってきますが・・・。
武具についてはいくらでもいいんですけどね。アビリティは狙ったのつくまでの時間が読めないですから。

あんまり買う気なかったんですけど、製品版も買います。

owncloud7.0.2で、共有先ユーザの検索をきちんとする

たぶんowncloudの中の人は少ユーザでのテストしかしてないと思うんですが、たくさんのユーザを使ってるowncloudでは現状の仕様ではちょっと困りそうなので。

特に「Restrict users to only share with users in their groups」のオプション(グループでのみ共有を可能にする)を使っているとき、共有先の検索は以下のような動作になっています。

1. 所属しているグループのユーザを15人までリストアップ
2. 入力文字列の「前後方一致」で全ユーザを検索
3. 「両方に一致したユーザ」を共有先としてリストアップ

このため検索元ユーザと同グループに15人以上所属している場合、15人目以降が選択されません。
検索枠の文字列を更新するごとに検索しなおしていますけど、いくらユーザ名を正確に入れても同じことです。

正しくなってほしい挙動は以下。

1. 所属しているグループのユーザから、「入力文字列の前方一致」で15人までリストアップ
2. 入力文字列の「前方一致」で全ユーザを検索
3. 「両方に一致したユーザ」を共有先としてリストアップ
(1.だけでいい気はするけど)

というかソースを見る限りもともと1.の部分は入力文字列が検索条件に入るはずなのですが、なぜか空白の前後方一致=ANYになってしまっているのでバグですね……。

下記を直します。

./lib/private/user/database.php
161c161
$result = $query->execute(array($search . ‘%’, $search . ‘%’));

> $result = $query->execute(array(‘%’ . $search . ‘%’, ‘%’ . $search . ‘%’));
235c235
execute(array($search . ‘%’));

> $result = $query->execute(array(‘%’ . $search . ‘%’));

./lib/private/group/database.php
172c172
$result = $stmt->execute(array( $search . ‘%’));

> $result = $stmt->execute(array(‘%’ . $search . ‘%’));
206c206
execute(array($gid, $_GET[‘search’].’%’));

> $result = $stmt->execute(array($gid, ‘%’.$search.’%’));

groupの方のdatabaseの206行目が一番問題なのですが、どうして変数から値が抜け落ちちゃってるのかわからないので応急処置・・・直前まで値が入ってるように見えるんだけどな・・・。

VirtualBoxのNATネットワークの使い方

わりと求めてた機能なのでうれしい。

1. VBのマネージャーのファイル>環境設定>ネットワーク>NATネットワークタブで右側の追加ボタン。
2. そのままだと10.0.2.0/24のデフォルトのネットワークを使う。最初からNATネットワークで作るならいいけど、今までデフォルトのNAT使ってて追加したい場合は設定の編集からCIDRを変える。
3. ゲストの設定>ネットワーク>アダプター(既存のNATを生かすならアダプター2)タブ>割り当てを「NATネットワーク」に。
4. 複数NATネットワークを作ったなら名前をちゃんと選択する。
5. 高度からMACアドレスを確認しておく。
6. ゲスト起動(以下CentOS6の場合)
7. デフォルトで使うなら何もしなくていいと思うけどアダプター2に追加したなら
 /etc/sysconfig/network-scripts/ifcfg-eht0 を ifcfg-eth1 でコピー。デバイス名をeth1に、MACアドレスをさっき調べたものに書き換え。
8. ifup eth1

これでふつうのNAT(のポートフォワーディング)でゲストにアクセスするほかに、ゲスト同士がNATネットワークでアクセスできるようになります。