apacheのRewriteMapで小文字のURIを大文字に変換してリダイレクトさせる
皆さま, こんにちわ
今日はapacheネタですね^^
とてもニッチなケースですが, 実際の業務でこのケースがあったので備忘のために記しておく. mod_rewriteに内蔵されているRewriteMapを使って実現する.
検証環境
httpd.confへ設定
この書き方だと (.*) に入る値(小文字)が右側のuppercase:$1 に大文字として引き継がれる.
RewriteMap int:toupper RewriteRule ^/aaa/bbb/ccc/(.*).html$ https://www.sample.co.jp/test/${uppercase:$1} [QSA,R=301,L]
逆もまだ然りで, 大文字→小文字の変換も可能
RewriteMap int:tolower RewriteRule ^/AAA/BBB/CCC/(.*).html$ https://www.sample.co.jp/test/${lowercase:$1} [QSA,R=301,L]
詳細は公式ドキュメント
mod_rewrite - Apache HTTP Server Version 2.4
以上.
GitLabの誰でも新規ユーザ登録できる機能を無効にする
皆さま, こんにちわ
もうすぐ11月ですね, 今年も3ヶ月切ってしまった....時が立つのは早い..
3ヶ月きったけど笑, 最近はGitLabをよく触るので小ネタを突っ込んでみる!
GitLabは, デフォルトだと Sign inタブの隣に register タブがあり誰でもユーザを新規作成できてしまいます.
特定の人間がユーザを適切に管理したい場合は, これだと困ってしまうので, この機能を無効にしたいですよね〜, なので試してみた!
検証環境
- OS: CentOS 6.7
- GitLab(omnibus): v11.0.3
設定手順
設定を無効にするには, 下記の通り.
ログイン後 > admin area > settings > sign-up restrictions
Sign-up enabledのチェックを外して, Save settings で適用する.
その後ログアウト, registerタブが消えていればOK!
こういう設定って忘れがちになりそうなので, ちゃんと設定しないといけないですねー
自戒の念をこめて書きましたw
以上.
python-gitlab使うとAPI経由でアカウント作成が簡単にできるよ
皆さま, こんにちわ(^^)
最近私の周りでは既にインフルエンザが流行り始めてます. 今年は流行るのが早いですねぇ...
インフル流行って, 毎回gitlabにログインして画面からアカウント作成するのが面倒になって来た今日この頃, いい加減API使って楽しようということでやってみました.
やりたいこと
検証環境
クライアント
サーバ
- OS: CentOS 6.7
- GitLab(omnibus): v11.0.3
手順
まずはgitlabにログインして, APIに設定するための Access Token を生成する.
画面右上のアイコン > settings > access token
選択できる権限の範囲が4つあるが, 今回は①を選択してみる.
①api Access the authenticated user's API
- すべてのグループとプロジェクトの読み書きを含む、ユーザとしてのGitLabへのフルアクセス
②read_user Read the authenticated user's personal information
- ユーザー名、一般のメールアドレス、フルネームなど、ユーザーのプロフィール情報への読み取り専用アクセス
③sudo Perform API actions as any user in the system (if the authenticated user is an admin)
- Sudo機能へのアクセス、システム内の任意のユーザーとしてAPIアクションを実行する(管理者のみ利用可能)
④read_repository Read Repository
- リポジトリ情報の読み込み
ここからはクライアント側Macでの作業.
ターミナルからpython-gitlabをinstallする.
$ sudo pip install python-gitlab
installされたことを確認する.
$ gitlab --version 1.6.0
公式サイトも参考にしつつ,
https://python-gitlab.readthedocs.io/en/stable/cli.html#configuration
Mac上に生成したAccess Tokenを元にconfigを作成.
$ vim ~/.python-gitlab.cfg [global] default = gitlab ssl_verify = false timeout = 30 [gitlab] url = http://sample.com ※gitlabのURLを設定する private_token = Fia7Periue6qj_Lipvtd
設定したら, 試しに下記コマンド叩いてみてgroup情報を取得できればOK(あとでuserをgroup登録する時に必要なのでmemoしておく)
$ gitlab group list
gitlabアカウントを作成してみる(アカウントが作成されるとメールが飛ぶ. もし送られてない場合は, postfixが起動していないか宛先がおかしいか疑う)
気にしておく点としては以下の辺り
- メールアドレスが他アカウントで使用されていると作成不可
- パスワードオプション必須
- デフォルトだとadmin権限は無効
$ gitlab user create --email testuser@example.com --username testuser --name testuser --password PASSWORD id: 327 username: testuser
作成したgitlabアカウントをgroupに登録してみる
- user-idは,user create時に出力されたidを指定
- group-idは先程取得した
gitlab group list
で確認しておいたものから選択) - アクセス権のパラメータ一覧はこちらの通り
$ gitlab group-member create --group-id 5 --user-id 327 --access-level 20 id: 327 username: testuser
GitLabから Confirmation instructions
という件名でメールが来ているので確認する.
Confirm your accountのリンクをクリックして, ログインページへ遷移する.
ログインが成功することを確認したらアカウント作成は完了〜
とりあえずAPIで作成することは出来るようになったので, これを利用してスクリプト化すればもっと楽になりそうですね.
以上.