설치할 APM 버전
Apache : 2.4.6
PHP : 7.4
MySQL : 5.7
설치 전 필요한 패키지 설치
yum -y install curl-devel libpng \
libpng-devel libjpeg libjpeg-devel libwebp \
libwebp-devel libXpm libXpm-devel openssl \
openssl-devel autoconf curl zlib zlib-devel \
freetype freetype-devel gd gd-devel \
libjpeg libjpeg-devel libmcrypt libmcrypt-devel \
libtool-ltdl-devel libzip libzip-devel \
oniguruma-devel cmake gcc-c++ gcc \
libxml2-devel libxml2 libcurl libcurl-devel \
bzip2-devel sqlite-devel
Apache 설치
[jinhyeok@localhost ~]$ yum install -y httpd
PHP 설치
[jinhyeok@localhost ~]$ sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[jinhyeok@localhost ~]$ sudo yum -y install epel-release yum-utils
// 저장소 변경
[jinhyeok@localhost ~]$ sudo yum-config-manager --disable remi-php54
[jinhyeok@localhost ~]$ sudo yum-config-manager --enable remi-php74
// php 설치
[jinhyeok@localhost ~]$ sudo yum install -y php
[jinhyeok@localhost ~]$ sudo yum -y install php-fpm
// 다시 세팅해보니 이게 필요하네요
[jinhyeok@localhost ~]$ sudo yum install php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql -y
// php에 필요한 라이브러리 설치 이건 길어서 코드만 올려두겠습니다.
yum -y install php-fpm
um -y install \
php-cli \
php-redis \
php-brotli \
php-intl \
php-gd \
php-gmp \
php-imap \
php-bcmath \
php-interbase \
php-json \
php-mbstring \
php-mysqlnd \
php-odbc \
php-opcache \
php-memcached \
php-tidy \
php-pdo \
php-pdo-dblib \
php-pear \
php-pgsql \
php-process \
php-pecl-apcu \
php-pecl-geoip \
php-pecl-imagick \
php-pecl-hrtime \
php-pecl-json \
php-pecl-memcache \
php-pecl-mongodb \
php-pecl-rar \
php-pecl-pq \
php-pecl-redis4 \
php-pecl-yaml \
php-pecl-zip
// Apache 재시작
[jinhyeok@localhost ~]$ systemctl restart httpd
// php-fpm 자동시작 등록
[jinhyeok@localhost ~]$ systemctl enable php-fpm
// php-fpm 시작
[jinhyeok@localhost ~]$ systemctl start php-fpm
MySQL
// mysql 5.7 저장소에서 다운
[jinhyeok@localhost ~]$ sudo yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
// mysql server 다운
[jinhyeok@localhost ~]$ sudo yum -y install mysql-community-server
[jinhyeok@localhost home]$ ifconfig
sudo vi /etc/httpd/conf/httpd.conf
// ESC -> : -> set number 치고 엔터
===================== httpd.conf =====================
// 95번째 라인 주석 해제 후 이전 사진에 있는 할당된 ip 입력
95Line -> ServerName 192.168.10.129
119Line -> DocumentRoot "웹 서버로 사용할 디렉터리"
ex -> DocumentRoot "/home/www/lab"
124Line -> <Directory "웹 서버로 사용할 이전 디렉터리?">
ex -> <Directory "/home/www">
131Line -> <Directory "웹 서버로 사용할 디렉터리">
ex -> <Directory "/home/www/lab">
164Line -> DirectoryIndex index.php index.html
// ESC -> : -> wq 치고 엔터
//아래 httpd 재시작 명령어는 해당 디렉터리가 없거나 디렉터리 안에 파일이 없으면 에러남
sudo systemctl restart httpd
sudo systemctl restart php-fpm
여기서 403이 뜨는 경우에는 selinux 체크를 해볼 것
Composer 설치
[jinhyeok@localhost ~]$ curl -sS https://getcomposer.org/installer | php
[jinhyeok@localhost ~]$ sudo mv composer.phar /usr/local/bin/composer
[jinhyeok@localhost ~]$ composer -v
// composer -v가 안될때
[jinhyeok@localhost ~]$ sudo PATH=$PATH:/usr/local/bin/
[jinhyeok@localhost ~]$ cd /home/www/
[jinhyeok@localhost www]$ sudo rm -rf ./lab
// 라라벨 인스톨러 다운로드
[jinhyeok@localhost www]$ sudo composer global require laravel/installer
[jinhyeok@localhost www]$ composer create-project --prefer-dist laravel/laravel lab
// 권한 확인
[jinhyeok@localhost www]$ ll
// 저같은 경우는 jinhyeok이라는 계정으로 설치를 했기 때문에 그룹권한을 apache로 바꿔주겠습니다
[jinhyeok@localhost www]$ sudo chown -R apache:apache ./lab
// storage와 bootstrap/cache디렉터리의 읽기쓰기 권한도 바꿔주겠습니다.
[jinhyeok@localhost www]$ sudo chmod -R 775 ./lab/storage/
[jinhyeok@localhost www]$ sudo chmod -R 775 ./lab/bootstrap/cache/
// httpd.conf에 가서 디렉토리 경로를 바꿔줍니다
// 프레임워크를 받은 디렉토리 안으로 들어가면 public 폴더가 있습니다.
[jinhyeok@localhost www]$ sudo vi /etc/httpd/conf/ httpd.conf
================== httpd.conf ==================
// 라인 넘버를 보기 위해 치는 명령어?
ESC -> : -> set number -> 엔터
119Line -> DocumnetRoot "디렉토리 경로/프로젝트이름/public"
ex -> DocumentRoot "/home/www/lab/public"
131Line -> <Directory "/디렉토리 경로/프로젝트이름/public">
ex -> <Directory "/home/www/lab/public">