MacにVSCode (Visual Studio Code)をインストール
MacにVSCode (Visual Studio Code)をインストール際のメモ
VSCode (Visual Studio Code)とは
マイクロソフトが作った人気なコードエディタ。
環境
macOS Mojave
ダウンロード
以下のサイトからダウンロードする。
Stable版で大丈夫。
Insiders版は新機能を一足先に試せるやつ。
共存できる。
code.visualstudio.com
インストール
ダウンロードしたzipファイルを解答して、「Visual Studio Code.app」を「アプリケーション 」フォルダに移動する。
起動
インストールした「Visual Studio Code」をダブルクリックして、起動する。
もちろん「Launchpad」などから選択してもOK。
日本語化
日本語化したい時は、左の四角ボタンのEXTENSIONSで「japanes」と検索し、「Japanese Language Pack for Visual Studio Code」をインストール。
再起動を求められるので、Yesを選ぶと再起動し日本語化が完了。
Docker for MacでPostgreSQL
いまさらDockerをはじめてみます。
本当はがっつり開発環境まるごと構築したいけど、
いきなりは難しそうなので、まずはDBだけでもdocker使います!
構築する環境
PostgreSQL バージョン 11.1
Dockerインストール
公式サイトからDocker for Macをダウンロードしてインストールします。
※初めての場合は、docker hub のアカウント作成が必要
公式サイトからダウンロードします。
docs.docker.com
ダウンロードした「Docker.dmg」でインストールします。
Dockerを起動すると、以下の画面が表示され流ので、「Next」をクリックします。
次の画面では、「OK」をクリックします。
端末のパスワードを入力する画面が現れるので、入力します。
上から画面が伸びてきます。docker hub のアカウントでログインします。
上のバーに、Dockerアイコンが現れ、クリックでメニューが表示されたら起動完了です。
正しくインストールされているか確認します。
docker --version Docker version 18.09.0, build 4d60db4 docker-compose --version docker-compose version 1.23.2, build 1110ad01 docker-machine --version docker-machine version 0.16.0, build 702c267f
Dockerfileの準備
空ディレクトリを作成し、その中に以下のように記述したDockerfileを配置します。
デフォルトではサーバロケールがen_US.utf8になっているため、
ja_JP.utf8になるように、Dockerfileを作成します。
FROM postgres:11.1 RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 ENV LANG ja_JP.utf8
今回は、PostgreSQLのバージョン11.1のイメージを指定しています。
使えるイメージは、Docker Hubと呼ばれる公開リポジトリから確認できます。
PostgreSQLを起動する
Dockerfileをビルドし、起動します。
docker build -t dev-postgres -f Dockerfile . docker run -it --name=my-db -p 5432:5432 -e POSTGRES_USER=dev -e POSTGRES_PASSWORD=secret -d dev-postgres
オプション | 意味 |
---|---|
--name my-db | コンテナ名 |
-p 5432:5432 | ホストのポート:コンテナのポート |
-e POSTGRES_USER | スーパユーザ名(省略時は"postgres") |
-e POSTGRES_PASSWORD | スーパユーザのパスワード(省略時はパスワードなしでログイン可) |
確認
起動しているコンテナの一覧はdocker psで確認できます。
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d16c5781d3ed dev-postgres "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 5432/tcp my-db
docker imagesコマンドでイメージの一覧を確認できます。
docker images
接続
以下のコマンドで、DBに接続できます。
docker exec -it my-db psql -U dev
また、posticoなどのツールでも普通に接続できます。
Host: localhost
Port:5432
コンテナの停止
docker stop my-db(コンテナ名)
コンテナの起動
docker start my-db(コンテナ名)
コンテナにログイン
docker exec -it my-db(コンテナ名) bash
コンテナの削除
docker rm -f my-db(コンテナ名)
MacにVagrant+VirtualBox+CentOS7を用いたCakePHP3環境構築
MacにVagrant+VirtualBox+CentOS7を用いたCakePHP3の環境構築をするためのメモです。
VirtualBoxをインストール
Vagrantには別途仮想化ソフトウェアが必要です。
そのためまずは、VirtualBoxをインストールします。
VirtualBox以外にもVMwareやHyper-Vなどが使えるらしいです。
インストール方法はこちらを参照
CentOS7を立ち上げる
Vagrantbox.esよりダウンロードします。
※今回はCentOS 7.2 x64 (Minimal, Puppet 4.2.3, Guest Additions 4.3.30)を選択
vagrant box add CentOS7 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
centos7というディレクトリを作って、そこに環境をつくっていきます。
任意のディレクトリに移動してからディレクトリを作成します。
以降、基本的にこのディレクトリで操作を行います。
mkdir centos7 cd centos7/
init で初期設定を行います。
コマンドライン引数には上記で追加したCentOS7 というboxを指定します。
vagrant init CentOS7
Vagrantfileを編集します。
以下の行を見つけ、コメントアウトをはずします。
PC(ホスト側)と、仮想マシン(ゲスト側)との間でのみ、通信が行えるようになります。
config.vm.network "private_network", ip: "192.168.33.10"
仮想マシンを起動し、接続します。
#起動 vagrant up #接続 vagrant ssh
各種インストール
Apache
sudo yum update # apacheのインストール sudo yum install -y httpd httpd-devel # 起動 sudo systemctl start httpd.service # 自動起動設定 sudo systemctl enable httpd.service # ポート開放 sudo systemctl start firewalld sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
yum update でエラーが発生した場合は、以下を実行
sudo -i curl -L https://yum.puppetlabs.com/RPM-GPG-KEY-puppet -o /tmp/RPM-GPG-KEY-puppet gpg --with-fingerprint "/tmp/RPM-GPG-KEY-puppet" cp /tmp/RPM-GPG-KEY-puppet /etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs-PC1 yum update
.htaccessを有効にするために、設定ファイルを修正
sudo vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html"> ~ # AllowOverrideをAllにする AllowOverride All ~ </Directory>
また、同設定ファイルのEnableSendfileをoffに設定
EnableSendfile off
Vagrantfileに以下の行を追加
config.vm.synced_folder "./", "/vagrant", owner: 'vagrant', group: 'apache', mount_options: ['dmode=777', 'fmode=666']
vagrant再起動
vagrant reload
シンボリックリンクを貼る
プロジェクトファイルはホスト端末に配置し、好きなエディタしたい。
そのために、ドキュメントルートから共有ディレクトリへシンボリックリンクを貼る。
cd /vagrant mkdir html cd /var/www sudo rm -rf html sudo ln -s /vagrant/html ./html
PHP
デフォルトのリポジトリからのインストールの場合、php5.4がインストールされてしまいCakePHP3が動作しないのでremiリポジトリからphpをインストールする必要がある。
# epelリポジトリのインストール sudo yum install -y epel-release # remiリポジトリのインストール sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm # 確認 ls -l /etc/yum.repos.d/ # PHPのインストール sudo yum install -y --enablerepo=remi,remi-php72 php php-devel php-mbstring php-pdo php-gd php-intl php-mysqlnd # 確認 php -v
MySQL
#sudo rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm # 最新はこっち # http://dev.mysql.com/downloads/repo/yum/ で確認 sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm sudo yum install -y mysql-community-server # 起動 sudo systemctl start mysqld.service # 自動起動 sudo systemctl enable mysqld.service
初期パスワードは開発環境で使うには複雑な物が設定されているので、以下の手順で「root」に変更。
# 初期パスワードを確認 sudo cat /var/log/mysqld.log | grep 'temporary password' > 2018-05-01T08:24:37.946827Z 1 [Note] A temporary password is generated for root@localhost: hogehoge # hogehogeがパスワード # 先程確認したパスワードでログイン mysql -u root -p mysql> SET GLOBAL validate_password_length=4; mysql> SET GLOBAL validate_password_policy=LOW; mysql> set password for root@localhost=password('password'); #バージョン8はこっち myslq> SET GLOBAL validate_password.length=4; mysql> SET GLOBAL validate_password.policy=LOW; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
phpmyadminをインストール
sudo yum install -y --enablerepo=remi,remi-php72 phpMyAdmin
ホストOSからアクセス出来るように、設定ファイルを編集
sudo vi /etc/httpd/conf.d/phpMyAdmin.conf <IfModule mod_authz_core.c> # Apache 2.4 # Require local # この行をコメントアウト Require all granted # この行を追加 </IfModule>
apache再起動
sudo systemctl restart httpd
mysql8の場合、/etc/my.cnf に以下を追記
sudo vi /etc/my.cnf [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
mysqlを再起動して、ユーザー作成
#再起動 systemctl restart mysqld.service #接続 mysql -u root -p # ユーザー作成 create user user1@localhost identified with mysql_native_password by 'user1_Password'; <|| * CakePHPのインストール ** Composerのインストール >|| curl -sS https://getcomposer.org/installer | php # パスが通っている場所に移動 sudo mv composer.phar /usr/local/bin/composer
CakePHPプロジェクトの作成
cd /vagrant/html # myappは任意のフォルダ名 composer create-project --prefer-dist cakephp/app myapp
CentOS7.3 に MySQL5.7 をインストール
CentOS7.3 に MySQL5.7 をインストールする際のメモです。
mariadb が入っていたら消す
rpm -qa | grep maria mariadb-libs-5.5.50-1.el7_2.x86_64 # 入っているとこのように表示される # 消す sudo yum remove mariadb-libs rm -rf /var/lib/mysql/
MySQL5.7のインストール
# インストール sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm sudo yum install mysql mysql-devel mysql-server mysql-utilities # 確認 rpm -qa | grep mysql mysqld --version
初期化
sudo mysqld --user=mysql --initialize
自動起動にする
sudo systemctl enable mysqld.service
起動確認
sudo systemctl start mysqld.service
パスワード変更
my.cnf の [mysqld]ブロックに skip-grant-tables を追記して、mysqldを再起動する。
sudo vim /etc/my.cnf sudo systemctl restart mysqld.service
rootパスワードを変更する。
mysql -u root use mysql; UPDATE user SET authentication_string=password('任意のパスワード') WHERE user='root'; flush privileges; exit
my.cnf の [mysqld]ブロックの skip-grant-tables を消して、mysqldを再起動する。
sudo vim /etc/my.cnf sudo systemctl restart mysqld.service
再度、変更する。
mysql> SET PASSWORD = PASSWORD('任意のパスワード');
my.cnf に追記
[mysqld]ブロックに以下を追記する。
character-set-server = utf8 default_password_lifetime = 0
以上です。
CentOS7にPHP7.2.xをインストールする
CentOS7にPHP7.2.xをインストールしたのでメモ
リポジトリの追加
PHPを標準のリポジトリからではなく、他のところから取得するので、
以下のコマンドを入力し、EPELとREMIのリポジトリを追加します。
$ sudo yum install epel-release $ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
追加されたか確認します。
EPEL, Remi のリポジトリが追加されています。
※remi-php72.repoに注目
$ ls -l /etc/yum.repos.d/ total 60 -rw-r--r--. 1 root root 1664 Aug 30 2017 CentOS-Base.repo -rw-r--r--. 1 root root 1309 Aug 30 2017 CentOS-CR.repo -rw-r--r--. 1 root root 649 Aug 30 2017 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 630 Aug 30 2017 CentOS-Media.repo -rw-r--r--. 1 root root 1331 Aug 30 2017 CentOS-Sources.repo -rw-r--r--. 1 root root 3830 Aug 30 2017 CentOS-Vault.repo -rw-r--r--. 1 root root 314 Aug 30 2017 CentOS-fasttrack.repo -rw-r--r--. 1 root root 1056 Dec 27 2016 epel-testing.repo -rw-r--r--. 1 root root 957 Dec 27 2016 epel.repo -rw-r--r--. 1 root root 456 Mar 21 13:28 remi-php54.repo -rw-r--r--. 1 root root 1314 Mar 21 13:28 remi-php70.repo -rw-r--r--. 1 root root 1314 Mar 21 13:28 remi-php71.repo -rw-r--r--. 1 root root 1314 Mar 21 13:28 remi-php72.repo -rw-r--r--. 1 root root 750 Mar 21 13:28 remi-safe.repo -rw-r--r--. 1 root root 2605 Mar 21 13:28 remi.repo
PHP 7.2 のインストール
以下のコマンドを入力し、インストールします。
なお、利用するアプリケーションに合わせて、追加で mbstring などの PHP の拡張をインストールします。
$ sudo yum install --disablerepo=* --enablerepo=epel,remi,remi-php72 php php-mbstring php-mysql php-intl
Requires: /usr/sbin/semanage とエラーが出たら以下のコマンドを実行する
$ yum provides /usr/sbin/semanage $ sudo yum -y install policycoreutils-python-xx.xx
Requires: libtcl8.5.so()(64bit) とエラーが出たら以下のコマンドを実行する
※他にエラーがあれば同様に解決していく
$ sudo yum whatprovides libtcl8.5.so $ sudo yum -y install tcl
以上です。