Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5657

非プログラマーだが、破壊衝動が強くてすぐ開発環境をぶっ壊すから作り方を保存

$
0
0

はじめに

  • Window10,VirtualBox,Vagrant,CentOS8,MySQL,Rails,Vim
  • 私は非プログラマーなので内容にまったく保証はありません。自己の自己による自己のための記録です。
  • 見やすさ度外視、解説もほぼなし
  • でも、ここはこうしたほうがいいよ、ここってどういう意味なの?どうしたらいいの?って言ってもらえたらめっちゃ嬉しいです。

VirtualBox,Vagrant,teratermをダウンロード

Vagrantfileの記述&起動

Vagtantfile
    config.vm.box = "generic/centos8"
    #ポートの開放
    config.vm.network :forwarded_port, guest: 3000, host: 3000
    config.vm.network :forwarded_port, guest: 6379, host: 6379
    #リアルタイム同期
    config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
    #共通化key
    config.ssh.insert_key = false
  • 起動
    vagrant up

  • 接続
    vagrant teraterm

 CentOSログイン後

  • 時間設定
    sudo timedatectl set-timezone Asia/Tokyo

  • こいつは重要だから
    sudo dnf -y update kernel

  • 必要になるものまとめてインストール

sudo dnf -y install bzip2 dkms gcc gcc-c++ git kernel-devel kernel-headers make mysql-devel nodejs openssl-devel readline-devel ruby-devel zlib-devel

  • さらにアップデート
    sudo dnf update -y

Vim

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
vimの準備
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

  • dein.tomlの設定
CentOS8
mkdir -p ~/.cache/dein
cd ~/.cache/dein
curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
sh ./installer.sh ~/.cache/dein
※出力された内容を.vimrcに書き込む

細かい設定は.vimrcに書く。書き換えたらgithubにバックアップ
https://github.com/denden0930/vim

Github

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
Githubへの接続
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

  • Githubへの接続準備
CentOS8
cd ~/.ssh/
mkdir github
cd github

#キーペアの作成
ssh-keygen -t rsa

#保存先の指定
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): ~/.ssh/github/id_rsa

#github登録用の公開鍵を確認
cat id_rsa.pub
※最後のユーザー名@IPアドレスはコピーしない
  • Githubに入って鍵の登録
    ※登録方法は割愛

設定ファイルを作成

vi ~/.ssh/config

~/.ssh/config
Host github github.com
Hostname github.com
User git
IdentityFile ~/.ssh/github/id_rsa`
権限付与

sudo chmod 700 ~/.ssh
sudo chmod 600 config

接続確認

ssh -T github

Conoha

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
Conohaログインの再設定
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

https://www.conoha.jp/login/?mode=logout

  • サーバーに入り、パスワードログインの許可

sudo vi /etc/ssh/sshd_config

PasswordAuthentication yes
  • ローカルからログイン
    ssh -p ポート番号 ユーザー名@サーバーIPアドレス

  • id_rsaのコピー
    cat ~/.ssh/id_rsa
    ※出てきた文字を全てコピー

  • ログアウト後ローカル作業

CenotOS8
cd ~/.ssh

#鍵の保存フォルダの作成
mkdir conoha_hoge #名前は任意

#鍵ファイルの作成 
sudo cd conoha_hoge
vi id_rsa
※先程クリップボードにコピーした内容をそのまま貼り付けて保存
  • sshの設定ファイルの作成
    vi ~/.ssh/config
~/.ssh/config
Host conoha_hoge
HostName サーバのIPアドレス
User ユーザー名
Port 変更したSSHのポート番号  
IdentityFile  ~/.ssh/conoha_hoge/id_rsa
  • 権限の設定
    cd conoha_hoge
    sudo chmod 600 id_rsa

  • ログインの確認とパスワードログインの禁止
    ssh conoha_hoge

Conohaサーバー
sudo vi /etc/ssh/sshd_config

#パスワードログインを禁止。yesからnoへ変更
PasswordAuthentication no

ruby

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
rubyを使う準備(バージョン管理を楽にするために管理システムの導入)
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

CentOS8
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

#PATHにrbenvコマンドを追加
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

#rbenvの初期化
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

#bashの再読込
source ~/.bash_profile

#rbenvのバージョン確認 バージョンが出ればOK
rbenv -v

#インストール
rbenv install 2.7.0

#globalで使用するrubyの設定
rbenv global 2.7.0

#rbenvの再起動?
rbenv rehash

#rubyのバージョン確認
ruby -v

MySQL

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
MySQLの準備
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

CentOS8
#インストール
sudo dnf install -y @mysql
sudo systemctl restart mysqld.service

#初期設定
mysql_secure_installation

> There are three levels of password validation policy:
#LOW:
#→ 8文字以上
#MEDIUM:
#→ 8文字以上 + 数字・アルファベットの大文字と小文字・特殊文字を含む
#STRONG:
#→ 8文字以上 + 数字・アルファベットの大文字と小文字・特殊文字を含む + 辞書ファイルでのチェック

> Do you wish to continue with the password provided?
このパスワードで確定して次に進んで良いか聞かれるので、y

> Remove anonymous users?
匿名ユーザ( anonymous user )を削除するか y

> Remove test database and access to it?
テストデータベースの削除しますか? y

>Reload privilege tables now?
すぐに権限テーブルをリロードして変更を有効にするか y

#タイムゾーンの作と読み込み
/usr/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo > ~/timezone.sql
mysql -u root -p -Dmysql < ~/timezone.sql

システム設定

sudo vi /etc/my.cnf.d/charset.cnf

charset.cnf
[mysqld]
character-set-server = utf8mb4
default-time-zone = 'Asia/Tokyo'
[client]
loose-default-character-set=utf8mb4
  • MySQLの再起動
    sudo systemctl restart mysqld.service

MySQLへのログイン

mysql -u root -p

MySQL
#データベースの作成
CREATE DATABASE your_app_development;

#vagrantユーザーの作成
CREATE USER 'vagrant'@'host_name' IDENTIFIED BY 'password'

#権限の付与
grant all on your_app_development.* to vagrant@localhost;
環境変数の読み込み設定

echo "source /your/APP/path/app.env" >>~/.bash_profile

redis

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
redisの準備
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

CentOS8
#インストール
sudo dnf install -y @redis

#自動起動と起動
sudo systemctl enable --now redis

rails

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
railsの準備
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

ひらがな,かななど相互互換変換する gem 'natto'の準備

CentOS8
 #全文検索エンジンgroongaのリポジトリを追加
sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm

#インストール
mecab --version
sudo dnf install -y mecab mecab-ipadic

#環境変数にmecab用のパスを追加する
#mecabのライブラリのある場所を調べる
sudo find / -name libmecab.so*

#調べたライブラリを環境変数に追加する
echo 'export MECAB_PATH=/usr/lib64/libmecab.so.2' >> ~/.bash_profile

#bash設定の再読み込み
source ~/.bash_profile
CentOS8
#bundleの準備
gem install bundle

※開発データフォルダに移動して
bundle
bundle update

aliasの登録

CentOS8
#フォルダ移動して編集開始
echo "alias rails_vim='cd your/app/path; vi'" >> ~/.bash_profile

#rails sの起動
echo "alias rails_s='cd your/app/path; rails s -b 0.0.0.0'" >> ~/.bash_profile

#rails sが死んだとき用プロセス確認
echo "alias ps_p='ps aux | grep [p]uma'" >> ~/.bash_profile

#シャットダウン
echo "alias down_now='sudo shutdown now'" >> ~/.bash_profile

#ridgepole
- schema→DB反映
echo "alias schema_db='bundle exec ridgepole -c config/database.yml --apply -f db/schemas/Schemafile'" >> ~/.bash_profile

- DB→schema反映
echo "alias db_schema='bundle exec ridgepole -c config/database.yml -E development --split --export -o db/schemas/Schemafile'" >> ~/.bash_profile

#Capistranoデプロイ
echo "alias cap_deploy='bundle exec cap production deploy'"  >> ~/.bash_profile

設定終わったら反映

source ~/.bash_profile

firewall

/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー/
ポートの開放
/ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
/

sudo firewall-cmd --add-port=3000/tcp --zone=public --permanent
sudo firewall-cmd --add-port=6379/tcp --zone=public --permanent

#リロード(設定の反映)
sudo firewall-cmd --reload

#設定が有効になっているか確認
sudo firewall-cmd --list-all

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: cockpit dhcpv6-client ssh
  ports: 3000/tcp 6379/tcp ←ここに出ればOK
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Viewing all articles
Browse latest Browse all 5657

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>