lets encryptとお名前.comでドメイン取得
ssl証明書を無料で取得出来るなんて良い時代になりました。
https://letsencrypt.jp/
インストールです。
apacheに設定してやります。
opensslとmod_sslのインストールが済んでいないようならインストールします。
yum install -y openssl mod_ssl
epelリポジトリを有効にして下記コマンドを実行
wget https://dl.eff.org/certbot-auto chmod 700 certbot-auto ./certbot-auto
いよいよ証明書を取得します。
取得用にサーバが起動するようなのでapacheを止めます。
service httpd stop
以下は覚書なのでうまくいかなかったら調べ直す必要があるかもしれません。あってるかな。
ポート80なら↓
./certbot-auto certonly --standalone-supported-challenges http-01 -d ドメイン名
ポート443なら↓
./certbot-auto certonly --standalone-supported-challenges tls-sni-01 -d ドメイン名
mydnsのドメインでは証明書がなかなか発行されないので(1週間で同ドメインには20通まで?)
お名前.comにドメインを取得しcnameを張りました。
更新はwebサーバを止めて下記コマンドで実施することが出来ます。
./letsencrypt-auto renew
gitについて
gitサーバ、クライアントの設定
まずはサーバの構築
サーバはCentOSを想定。
# yum install git
グループ、ユーザを作成する。
unixのユーザがそのままgitで使用される。
# groupadd gitgroup # useradd -g gitgroup gituser
パスワードも忘れずに。
# passwd gituser
リポジトリディレクトリを作成する。
XXX.gitという名前が一般的。
# mkdir -p /usr/local/git/rep.git
作成したディレクトリの権限をgit用ユーザに。
# chown gituser rep.git/
作成したgit用ユーザにスイッチ。
# su - gituser
git initして完成。
$ git init --bare --shared
クライアント側
/usr/local/git/のとこは適宜修正します。
git clone ssh://gituser@サーバアドレス/usr/local/git/git.rep
新しいブランチを作る
git checkout -b new_branch
pushするとリモートに同名のブランチが作成される
git push
トラッキングブランチの設定をする
git branch --set-upstream-to=origin/リモートブランチ ローカルブランチ
以下調整中
git log --pretty=format:"[%ad] %h %an : %s"
git checkout-index -a -f --prefix=export/
mysqlでエラー
You can't specify target table 'x' for update in FROM clause
こんなエラーが出て困りました。
意味はテーブル'x'をFROM句に入れてアップデートのために明示することは出来ません。
つまりfrom句にテーブル'x'を記載しないで下さいという感じでしょうか。
clauseが句なんですね。
TABLE1にはNOというカラムが存在し、
その最大値のレコードを削除しようとしました。
DELETE FROM TABLE1 WHERE NO = ( SELECT MAX(NO) WHERE TABLE1 );
mysqlだと削除するテーブルとサブクエリのテーブルが同じだと
怒られてしまうようです。
DELETE FROM TABLE1 ORDER BY NO DESC LIMIT 1;
とか回避策を使うしか無いようです。
頻繁に使う条件ならfunction化するのも良いのかな。
sedについていくつか
sedでurl置換したい時に、エスケープが面倒なので調べてみると
sed -e "s|http://local.com/|https://honban.com/|g" in.html out.html
のようにすればエスケープする必要がなくなる。
sed -i -e "s|http://local.com/|https://honban.com/|g" xxx.html
のように-iで上書き保存。
CentOS7 IPの固定
毎度毎度調べて設定するIPアドレス
VMWare Player上に構築する際の設定です。
BOOTPROTOをdhcpからstaticに変更
DNS1はVMware Virtual Ethernet Adapter for VMnet8の
アダプタ設定が192.168.31.1となっているのであれば
192.168.31.2を設定。GateWayについても同様に192.168.31.2。
BOOTPROTO=static DNS1="192.168.31.2" DOMAIN=test.com IPADDR=192.168.31.131 NETMASK=255.255.255.0 GATEWAY=192.168.31.2
この書き方でバックアップを作成することが可能です。
cp -p test{,.org}
グループウェアのインストール
久しぶりにCentOSをインストールしたのはグループウェアを試したかったからでした。
グループウェアのAipoっていうのが良さそうだなと思って、
インストールしてみました。
インストールはとても簡単。
このサイトの手順で進めるだけ。
インストール手順 - オープンソース|Aipo(アイポ)
すぐに終わります。
さあ外部から接続しようと試すも、つながらない。
firewalldは動いてないからSELinuxか!
SELinuxは最小限のセットアップでも入るんですね。
なんとも邪魔くさい。
# getenforce Enforcing
やっぱりか!
では/etc/selinux/configを編集するか
disabledを追加して再起動。
あれ起動しない。
何か失敗している。
GRUBのとこでeを押してごにょごよするか。
selinux=0を追加する。
=が出せないのですが、隣の~(チルダ)^(ハット)へのキーで出すことが
出来ます。
linux16の行末ですね。
そしてctrl+xで起動。
無事起動出来たら、/etc/selinux/configを見てみる。
やっぱり間違えていました。
SELINUX=disabled
にして再起動。
その後Aipoの起動も確認できました。
久しぶりにCentOSをインストール
CentOSが起動しなくなったのでCentOS7を久しぶりにインストールしました。
NHMを使ってスナップショットをとっていて、VMWarePlayerから使わなくなった
仮想マシン(スナップショット)を削除したら上記の通り起動しなくなってしまい
ました。
たいしたモノが入ってないので諦めてさっさと再セットアップ。
男は黙って最小限でセットアップです。
ネットワーク設定しとかないと接続出来ません。
オンにしましょう。
起動出来ました。
sshでも接続出来ます。
vmware-toolsをインストールします。
[root@localhost vmware-tools-distrib]# ./vmware-install.pl -bash: ./vmware-install.pl: /usr/bin/perl: 誤ったインタプリタです: そのようなファイルやディレクトリはありません
と出力されます。
最小限だとperlが無さそうです。
perlをインストール
yum update yum install -y install perl
再度インストールすると
Setup is unable to find the "ifconfig" program on your machine. Please make sure it is installed. Do you want to specify the location of this program by hand? [yes] What is the location of the "ifconfig" program on your machine?
と出力されます。
ifconfigが無くてip addrを使ってたけどvmware-toolsインストール時に
こんなの出てたかな。
vmwareのknowledge baseを見ると
RHEL7やCentOS7はnet-toolsをインストールしないといけないらしい。
ということでインストール
yum install -y net-tools
ここまでやるとvmware-toolsのインストールが完了しました。