web-technical-blog

web開発に関する技術メモ

CentOSのVirtualBox仮想マシンでホスト名が解決できない

下記の記事にも書いてあるように、VirtualBox仮想マシンを再起動したら、
外部ホストが解決できないようになったので、以下のURLを参考にして対応した。

/etc/sysconfig/network-scripts/ifcfg-eth1を編集し、
プライマリDNSに8.8.8.8、
セカンダリDNSに8.8.4.4の設定を追記する。

DNSGoogleのPublic DNSに設定
DNS1=8.8.8.8
DNS2=8.8.4.4

上記を追記して、ネットワークの再起動をした。

# ネットワークの再起動
service network restart

▼参考URL
totech.hateblo.jp

VirtualBox(CentOS6系)でクローンを作成する

すべてのネットワークカードのMACアドレスを再初期化した場合

ネットワークの再設定

$ cat /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:03.0 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:97:d9:5b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:08.0 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:e0:8b:24", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# ネットワークの再起動
service network restart

▼参考URL
te2u.hatenablog.jp

CentOS6系のMACアドレスを正しくする

VirtualBoxとかを他の人から提供してもらったりすると
稀にMACアドレスがおかしくなったりするので修正方法をメモ。

# MACアドレスを正しくする
# vi /etc/udev/rules.d/70-persistent-net.rules
※eth0とeth1のMACアドレスを正しくする

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

# --- キーボードの設定
vi /etc/sysconfig/keyboard
KEYTABLE="jp106"
MODEL="jp106"
LAYOUT="jp"
KEYBOARDTYPE="pc"

CentOS6にgit-2.11.0のインストール

git-2.11.0のインストール方法

# --- 事前インストールモジュール
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker

make prefix=/usr/local/git-2.11.0 all
make prefix=/usr/local/git-2.11.0 install

CentOS6系にMySQL5.7をyumでインストール

CentOS6系の標準リポジトリMySQLはバージョン5.1
それ以外のバージョンを使用するには、自分で該当バージョンのリポジトリを追加してインストールする作業が必要になる。

# yumレポジトリ追加
# rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm

# パッケージ情報確認
# yum info mysql-community-server

# MySQLインストール
# yum install mysql-community-server

# インストール確認
# mysql --version

# my.cnfの編集
cp -p /etc/my.cnf /etc/my.cnf.orig
vi /etc/my.cnf
[mysqld]
character-set-server=utf8 <-- [mysqld]セクションに追加する

# サービス起動
service mysqld start

# 初期パスワード確認
grep 'temporary password' /var/log/mysqld.log

▼参考URL
qiita.com

CentOS6系にnginx,php5.6,php-fpmをインストール

分かりやすいサイトがあったのでメモしておきます。

■nginxのインストー

# nginx用Repositoryの追加
yum localinstall http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# インストール
yum install nginx
# バージョン確認
nginx -v

php,php-fpmのインストールとsocketでのnginx連携

# phpの最新版をインストールするのに必要なRepositoryの追加
yum localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum localinstall http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

# phpと周辺モジュールのインストール
yum -y --enablerepo=remi-php56,remi,epel install php php-mbstring php-xml php-pdo php-mcrypt php-pecl-memcache php-pgsql

# vi /etc/php-fpm.d/www.conf
「user = nginx」へ変更
「group = nginx」へ変更
「listen = /var/run/php-fpm/php-fpm.sock」へ変更
「listen.owner = nginx」へ変更
「listen.group = nginx」へ変更

・nginxのphp-fpm連携設定
# vi /etc/nginx/conf.d/default.conf
server {
    ## add
    root /usr/share/nginx/html;
    index index.php
    charset utf-8;

    location / {
        ##root /usr/share/nginx/html;
        ##index index.html index.htm;
        ##try_files $uri /index.php?$uri&$args;
    }

    location ~ \.php$ {
        root /usr/share/nginx/html;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        include fastcgi_params;
    }

### 途中省略 ###

}

▼参考URL
qiita.com

Go(revel)環境の構築について

CentOS7にインストールする手順です。

▼事前インストー

# yum -y install wget
# yum -y install git

▼Goインストー

# cd /usr/local/src
# wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz
# tar -C /usr/local/ -xzf go1.7.4.linux-amd64.tar.gz


▼Go用WorkSpace作成
・このディレクトリソースでソースを管理する
・go get や go installした際はこのディレクトリに追加

# mkdir -p /var/golang


▼Go実行パス設定

vi /etc/profile
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export GOPATH=/var/golang
export PATH=$PATH:$GOBIN

・反映されたか確認

# which go
/usr/local/go/bin/go

# go version
go version go1.7.4 linux/amd64

▼Revelインストー

# go get github.com/revel/revel
# go get github.com/revel/cmd/revel

# /var/golangの配下に「revel」ディレクトリを作成
[root@localhost golang]# ls -l
合計 0
drwxr-xr-x. 3 root root 25 1227 14:34 pkg
drwxr-xr-x. 2 root root 6 1227 14:41 revel
drwxr-xr-x. 6 root root 71 1227 14:41 src

「myapp」というプロジェクトをrevelコマンドで作成

[root@localhost golang]# revel new myapp

~
~ revel! http://revel.github.io
~
Your application is ready:
/var/golang/src/myapp
You can run it with:
revel run myapp

▼firewalld(9000ポート解放)の設定

# 許可するポートの追加
firewall-cmd --add-port=9000/tcp --zone=public --permanent
# firewalldのリロード
firewall-cmd --reload

▼Nginxインストー
・Nginx用リポジトリ作成

# vi /etc/yum.repo.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1

▼Nginxモジュールインストー

# yum install -y nginx

▼起動時設定

# systemctl enable nginx
# systemctl start nginx
# systemctl status nginx

▼Nginx設定ファイル修正

# vim /etc/nginx/conf.d/default.conf
location / {
    proxy_pass http://127.0.0.1:9000;
}

▼Revelでアプリケーション実行

# revel run myapp

▼参考URL
CentOS7 に Nginx + Go + Revel インストール・動作確認 - 長生村本郷Engineers'Blog
CentOS7でポートを開放する方法。 - プログラミングで飯を食え。腕をあげたきゃ備忘録!
Windowsでgolang(1)Go(1.7.1)とRevel(v0.13.1)のインストール
CentOS7用 Revel(Golang)フレームワークの起動スクリプト 書いてみた。 - 長生村本郷Engineers'Blog