orz.conf

技術メモ✍

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をインストールしたのはグループウェアを試したかったからでした。

toshtone.hatenablog.jp

グループウェアのAipoっていうのが良さそうだなと思って、
インストールしてみました。

インストールはとても簡単。
このサイトの手順で進めるだけ。
インストール手順 - オープンソース|Aipo(アイポ)

すぐに終わります。
さあ外部から接続しようと試すも、つながらない。

firewalldは動いてないからSELinuxか!

SELinuxは最小限のセットアップでも入るんですね。
なんとも邪魔くさい。

# getenforce
Enforcing

やっぱりか!
では/etc/selinux/configを編集するか
disabledを追加して再起動。

あれ起動しない。
何か失敗している。
GRUBのとこでeを押してごにょごよするか。

f:id:toshtone:20161207232338p:plain

selinux=0を追加する。
=が出せないのですが、隣の~(チルダ)^(ハット)へのキーで出すことが
出来ます。

f:id:toshtone:20161207232824p:plain

linux16の行末ですね。
そしてctrl+xで起動。

無事起動出来たら、/etc/selinux/configを見てみる。

f:id:toshtone:20161207234658p:plain

やっぱり間違えていました。

SELINUX=disabled

にして再起動。

その後Aipoの起動も確認できました。

久しぶりにCentOSをインストール

CentOSが起動しなくなったのでCentOS7を久しぶりにインストールしました。

f:id:toshtone:20161204181530p:plain

NHMを使ってスナップショットをとっていて、VMWarePlayerから使わなくなった
仮想マシン(スナップショット)を削除したら上記の通り起動しなくなってしまい
ました。

たいしたモノが入ってないので諦めてさっさと再セットアップ。


f:id:toshtone:20161204182215p:plain

男は黙って最小限でセットアップです。


f:id:toshtone:20161204182349p:plain

ネットワーク設定しとかないと接続出来ません。
オンにしましょう。


f:id:toshtone:20161204182519p:plain

起動出来ました。

sshでも接続出来ます。

f:id:toshtone:20161204183518p:plain


vmware-toolsをインストールします。

f:id:toshtone:20161204183750p:plain

[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のインストールが完了しました。