NO IMAGE

CentOS 7.6 ESXiでlaravel開発環境つくるまで備忘録


ESXI上にCentOSを入れて、Laravelの開発環境をつくる(´・ω・)ス
これはその忘備録です。

ちなみに今回ESXiを動かしているマシンは激安組みでG440@3.3GHz メモリ32GBだが、仮想マシンはCPUは2コア・メモリ4GB以上ないときつい。逆に書けば以上のスペックあれば快適に動く。

 

 

ESXi 上のCentOS インストール

 

 

 

CentOS公式からダウンロードしたISOをCD/DVDにセット。 ISO パワーオン時に接続を忘れずに。

 

インストール時の注意



特別に注意はないが、ネットワーク設定をしておかないと、コマンドで設定する必要がある。面倒なのでインストール時に設定しておくのがベスト。

 

ネットワークとホスト名をクリックし、次の画面で右上のEthernet オンは忘れずれに変えて、右下の「設定」から入り、上のIPv4のセッティングをクリック。右にある追加で設定。


またセキュリティポリシーもオフにしておく。



また、インストールが進む際にrootのパスワードを決めるが、その際にユーザーも作っておいたが楽。
今回はkatoで作っておく。なぜ作る必要があるか?というとWEBサーバの権限で利用することや、rootでなくFTP接続などで使う必要があるため。


インストール後ローカルマシンからSSH接続させる。

インストール後、再起動。この状態で外部からSSH接続ができる。
ESXi上のコンソールだとコマンドのコピーがしづらいので、ローカルマシンからSSH接続を行う。


接続できない?

この時点で外部からSSH接続できないケースは主に2つ。IPアドレスを設定してなかったか、SElinuxとファイヤーウォールが設定してないケース。


IPアドレスの設定方法

/etc/sysconfig/network-scripts/内にある ifcfg-デバイス名 というファイルを設定すればOk.このディバイス名は大抵ifcgg-何々のはずだが、デバイス名はls でネットワークデバイスを確認 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=60fe0527-5477-4a0b-90f9-8058e44c288a
DEVICE=ens160
ONBOOT=yes

IPADDR="192.168.11.170"
NETMASK="255.255.255.0"
GATEWAY="192.168.11.1"
DNS="192.168.11.1"
systemctl restart NetworkManager
systemctl restart network

名前解決もしておく

初期はつなげてなければ、ネームサーバが分からないと名前解決ができないので、
/etc/resolv.conf にリゾルバに名前解決を記述。ルーターのアドレスかグーグルのネームサーバーを指定。

search 8.8.8.8
nameserver 192.168.11.1

 

SElinuxやファイヤーウォールも無効に。


SElinux無効に。なにかと開発環境には無用なので、SElinuxは切っておきます。

# vi /etc/sysconfig/selinux

SELINUX=disable

ファイヤーウォールも切っておきます。

# 確認 (´・ω・)ス

 

# iptables -L 
# systemctl status firewalld 
# systemctl stop firewalld


起動時もオフに 

#systemctl list-unit-files | grep firewall
# systemctl disable firewalld.service 
# systemctl list-unit-files | grep firewall
# reboot

 

まずはアップデート

# yum -y update




もし以下でエラーが出る場合。

# yum -y update
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 不明なエラー"

ネームサーバかゲートウェイどちらか間違っているので、/etc/resolv.conf と/etc/sysconfig/network-scripts/内にある ifcfg-デバイス名の見直しを。



ここまでユーザーもできているはずだが、もし忘れた場合はここで再度ユーザーの作成を。

ユーザの追加

# useradd kato
# passwd kato

katoはユーザ名ですよ。この後にデザさんとかローカルIDEでFTPで利用するのに使うので、先に用意しておきます。

 

一括で入れる方法と必要なものを必要なだけ入れる方法があります。まずは一括で開発環境を入れます。


開発ツールとリポジトリのインストール

#yum -y groupinstall "Development Tools" "Base"
# yum install epel-release
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm





WEBサーバ(Apache)のインストール

# yum -y install httpd httpd-devel mod_ssl





バーチャルサーバの設定

バーチャルドメインに開発しますので、設定もしておきます。

まずはディレクトリを用意します。

# mkdir -p /var/www/vhosts/example.net/httpdocs/project

 

 

続けてバーチャルドメインもWEBサーバ(apache)に設定しておきます。


# vi /etc/httpd/conf.d/app.conf
  
<VirtualHost *:80>
 
  DocumentRoot /var/www/vhosts/example.net/httpdocs/project/public
  ServerName example.net
 
  ErrorLog logs/example.net-error_log
  CustomLog logs/example.net-access_log common
 
  <Directory "/var/www/vhosts/example.net/httpdocs/project/public">
      AllowOverride All
      Require all granted
  </Directory>
  
</VirtualHost>

 

 

接続ユーザーをアパッチ権限をユーザに追加してあげます。

# vi /etc/httpd/conf/httpd.conf

#User apache #無効化
#Group apache #無効化
User kato  #追加
Group apache  #追加
# usermod -aG apache kato

 

 

 

文法チェックとApache自動起動

# httpd -t 
# systemctl restart httpd
# systemctl enable httpd
service httpd configtest
 でも
httpd -t 
でも同じ。

 




エラーとして以下でますが無視します。開発用ですから。

AH00112: Warning: DocumentRoot [/var/www/vhosts/example.net/httpdocs/project/public] does not exist
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

 

 

PHP7インストール

 

#yum -y install --enablerepo=epel libmcrypt libwebp
#yum -y install --enablerepo=remi-php71 php php-cli php-devel php-common 
#yum -y install php-mbstring php-mysql php-phpunit-PHPUnit php-pecl-xdebug 
#yum -y install php-gd php-pdo php-xml php-mcrypt  php-fpm php-opcache php-pecl-apcu php-zip


少し長いの分けましたが、ワンライナーでもOKです。

# php -v
PHP 7.1.25 (cli) (built: Dec  8 2018 13:52:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

 

 

MySQLのインストール

手順はMariaDBを削除して、MySQLを入れます。また現時点(2018年12月29日)でMySQLはバージョン8がありますが、今回は少し前のを入れます。


開発環境、またはデフォルトではMariaDBですので、一度消します。

# yum remove mariadb-libs
# rm -rf /var/lib/mysql/

 


※ちなみに同時にPostfix(メールサーバ)も削除になりますので、後で入れ直します。

 

 

レポジトリを入れてインストールします。

# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# yum -y install mysql-community-server
 
# systemctl enable mysqld
# systemctl start mysqld

 


初期パスワードを確認します。

 

# tail -n 500 /var/log/mysqld.log | grep root
2018-12-29T08:11:18.241744Z 1 [Note] A temporary password is generated for root@localhost: E*=wjr40Xm,7


このE*=wjr40Xm,7がパスワードですので、入って初期設定します。

# mysql_secure_installation

 

Postfixを入れ直します。

# yum install postfix
# systemctl start postfix
# systemctl enable postfix

 


phpMyAdminのインストール

# yum -y install --enablerepo=remi-php71 phpMyAdmin

# vi /etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

AllowOverride all
Require all granted

 







Laravelインストール

 

Composerのインストール

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer


バージョンも確認します。
-VのVは大文字(´・ω・)ス

# composer -V
Composer version 1.8.0 2018-12-03 10:31:16

 


プロジェクト作成

# composer global require laravel/installer
# composer create-project laravel/laravel /var/www/vhosts/example.net/httpdocs/project --prefer-dist


プロジェクトのディレクトリの権限を変更

chmod 755 /var/www/vhosts/example.net/httpdocs/project
chmod 755 -R /var/www/vhosts/example.net/httpdocs/project/storage
chmod 755 -R /var/www/vhosts/example.net/httpdocs/project/bootstrap/cache
chown kato:apache -R /var/www/vhosts/example.net/httpdocs/project

 

 

以下メモ

【躓き】デフォルトのドキュメントルートは パーミッション
【躓き】laravel コマンド時にkatoユーザに。
【躓き】Installation failed, deleting ./composer.json.

php-zip 追加

chmod 755 /var/www/vhosts/example.net/httpdocs/project
chmod 755 -R /var/www/vhosts/example.net/httpdocs/project/storage
chmod 755 -R /var/www/vhosts/example.net/httpdocs/project/bootstrap/cache
chown apache:apache -R /var/www/vhosts/example.net/httpdocs/project

# ls -laht
合計 232K
-rw-r--r--.  1 apache apache  706 12月 27 00:27 .env
drwxr-xr-x. 45 apache apache 4.0K 12月 27 00:27 vendor
-rw-r--r--.  1 apache apache 174K 12月 27 00:27 composer.lock
drwxr-xr-x. 12 apache apache 4.0K 12月 27 00:27 .
drwxr-xr-x.  3 root   root     21 12月 27 00:16 ..
-rw-r--r--.  1 apache apache  213 12月 15 23:37 .editorconfig
-rw-r--r--.  1 apache apache  655 12月 15 23:37 .env.example
-rw-r--r--.  1 apache apache  111 12月 15 23:37 .gitattributes
-rw-r--r--.  1 apache apache  151 12月 15 23:37 .gitignore
drwxr-xr-x.  6 apache apache   84 12月 15 23:37 app
-rwxr-xr-x.  1 apache apache 1.7K 12月 15 23:37 artisan
drwxr-xr-x.  3 apache apache   34 12月 15 23:37 bootstrap
-rw-r--r--.  1 apache apache 1.6K 12月 15 23:37 composer.json
drwxr-xr-x.  2 apache apache  247 12月 15 23:37 config
drwxr-xr-x.  5 apache apache   72 12月 15 23:37 database
-rw-r--r--.  1 apache apache 1.1K 12月 15 23:37 package.json
-rw-r--r--.  1 apache apache 1.2K 12月 15 23:37 phpunit.xml
drwxr-xr-x.  5 apache apache  127 12月 15 23:37 public
-rw-r--r--.  1 apache apache 4.0K 12月 15 23:37 readme.md
drwxr-xr-x.  6 apache apache   53 12月 15 23:37 resources
drwxr-xr-x.  2 apache apache   75 12月 15 23:37 routes
-rw-r--r--.  1 apache apache  563 12月 15 23:37 server.php
drwxr-xr-x.  5 apache apache   46 12月 15 23:37 storage
drwxr-xr-x.  4 apache apache   83 12月 15 23:37 tests
-rw-r--r--.  1 apache apache  537 12月 15 23:37 webpack.mix.js




Supervisorのインストール # yum install -y supervisor



NO IMAGE
最新情報をチェックしよう!

    Warning: Trying to access array offset on value of type bool in /home/xsvx1010357/kato.space/public_html/wp/wp-content/themes/the-thor/template-parts/single-prevnext.php on line 37

    Warning: Trying to access array offset on value of type bool in /home/xsvx1010357/kato.space/public_html/wp/wp-content/themes/the-thor/template-parts/single-prevnext.php on line 38

    Warning: Trying to access array offset on value of type bool in /home/xsvx1010357/kato.space/public_html/wp/wp-content/themes/the-thor/template-parts/single-prevnext.php on line 39

  • Warning: Trying to access array offset on value of type bool in /home/xsvx1010357/kato.space/public_html/wp/wp-content/themes/the-thor/template-parts/single-prevnext.php on line 83

    Warning: Trying to access array offset on value of type bool in /home/xsvx1010357/kato.space/public_html/wp/wp-content/themes/the-thor/template-parts/single-prevnext.php on line 84

    Warning: Trying to access array offset on value of type bool in /home/xsvx1010357/kato.space/public_html/wp/wp-content/themes/the-thor/template-parts/single-prevnext.php on line 85
>最強のWordPressテーマ「THE THOR」

最強のWordPressテーマ「THE THOR」

システムの構築・保守運用「   」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG