LoginSignup
0
0

More than 3 years have passed since last update.

Laravel構築

Posted at

Apacheインストール

# yum -y install httpd (yオプションは問い合わせに対して全て「y」で応答)

以下のコマンドで確認
# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Aug  8 2019 11:41:18

起動確認

# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd(8)
           man:apachectl(8)

Active: inactive (dead) は停止

Apache起動

# systemctl start httpd

PHP インストール

  • PHP5.4

CentOS7の標準リポジトリのPHPバージョンが5.4
(古い...サポート切れてるやろ:grin:
PHP5.4以降をインストールする場合は、『PHP7.3』を参照(今回は7.3を例に)

# yum -y install php

以下のコマンド確認
# php -v
PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
  • PHP7.3

EPELリポジトリをインストール

# yum -y install epel-release

REMIリポジトリをインストール(リポジトリの依存関係によりEPELリポジトリも同時にインストールされる)

# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7.3をインストール

# yum -y install --enablerepo=remi,remi-php73 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql php-zip php-pecl-zip zip unzip git

以下のコマンドで確認
# php -v
PHP 7.3.11 (cli) (built: Oct 22 2019 08:11:04) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies

CentOS7からMariaDBが標準となっているため、
MySQLをインストールするためには削除する必要がある。

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

MySQLのリポジトリをインストール

# yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

MySQLインストール

# yum install -y mysql-community-server

以下のコマンドで確認
# mysqld --version
/usr/sbin/mysqld  Ver 8.0.18 for Linux on x86_64 (MySQL Community Server - GPL)

MySQLの状態を確認(デフォルトでは停止のはず)

# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html

Active: inactive (dead) は停止

MySQLを起動

# systemctl start mysqld

以下のコマンドで確認
# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-11-04 00:23:13 JST; 8s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 5342 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 5417 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/mysqld.service
           └─5417 /usr/sbin/mysqld

Nov 04 00:22:59 localhost.localdomain systemd[1]: Starting MySQL Server...
Nov 04 00:23:13 localhost.localdomain systemd[1]: Started MySQL Server.

Active: active (running) で起動を確認

MySQLの自動起動設定を確認する(デフォルトは有効のはず)

# systemctl is-enabled mysqld
enabled

enable なので有効

変更は以下のコマンドで行う

無効にする
# systemctl disable mysqld
Removed symlink /etc/systemd/system/multi-user.target.wants/mysqld.service.

有効にする
# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.

composerをインストール

# curl -sS https://getcomposer.org/installer | php
コマンド設置
# mv composer.phar /usr/local/bin/composer

以下のコマンドで確認
# composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.1 2019-11-01 17:20:17

Laravelのインストーラーをダウンロード

# composer global require "laravel/installer"

プロジェクトを配置する場所のディレクトリのパーミッションを変更
(一旦、実行・書込・読込を許可)

# chmod 777 /var/www/html/

"sample"というプロジェクトを作成

$ composer create-project --prefer-dist laravel/laravel /var/www/html/sample

ドキュメントルート設定

# vi /etc/httpd/conf.d/***.conf(任意の名前)
<VirtualHost *:80>
    DocumentRoot /var/www/html/sample/public
    RewriteEngine On
    <Directory "/var/www/html/sample/public">
        AllowOverride All
    </Directory>
</VirtualHost>

confを修正したのでhttpd再起動

# systemctl restart httpd

ログを書込権限がないので、パーミッションを変更
(一旦、実行・書込・読込を許可)

$ chmod -R 777 /var/www/html/sample/storage/

http://192.168.33.10 にアクセス
(Vagrantで構築したため、デフォルトの192.168.33.10)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0