Web/WSL

WSL1 Rocky OS 8.5 PHP 7.4 설치해보기

tealight 2022. 12. 6. 11:04

rockyos8.5 다운로드 주소 : https://github.com/rocky-linux/sig-cloud-instance-images/blob/Rocky-8.5-x86_64/rocky-8.5-docker-x86_64.tar.xz

 

GitHub - rocky-linux/sig-cloud-instance-images

Contribute to rocky-linux/sig-cloud-instance-images development by creating an account on GitHub.

github.com

# 설치

# 설치 폴더 세팅 (개별 설정)
cd d:\
mkdir AppData\RockyLinux8

# wsl ver 1 세팅
wsl --set-default-version 1
# wsl --import [이름] [저장경로] [파일경로]
wsl --import RC8 D:\AppData\RockyLinux8  D:\AppData\rocky-8.5-docker-x86_64.tar
# wsl 접속
wsl -d RC8
# yum 업데이트
yum update

# PHP 설치 

dnf module enable php:7.4
dnf install php php-cli php-gd php-curl php-zip php-mbstring php-intl php-mysqlnd
dnf install git

## PHP 설치 중 오류 발생

RPM: error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
RPM: error: cannot open Packages index using db5 - (-30969)
RPM: error: cannot open Packages database in /var/lib/rpm
The downloaded packages were saved in cache until the next successful transaction
dnf upgrade --refresh rpm glibc
rm /var/lib/rpm/.rpm.lock
dnf upgrade dnf

# 아파치 설정

vi /etc/httpd/conf/httpd.conf
69 User nobody      [apache → nobody 변경]
70 Group nobody      [apache → nobody 변경]
167 <IfModule dir_module>
168     DirectoryIndex index.html index.htm index.php  [일부 추가]
169 </IfModule>

 

 287     AddType application/x-compress .Z
 288     AddType application/x-gzip .gz .tgz
 289     AddType application/x-httpd-php .php  [라인 추가]
 290     AddType application/x-httpd-phps .phps  [라인 추가]
 
 
 
vi /etc/httpd/conf.d/*.conf
<Directory "/home/domain">
    RewriteEngine On
    Options FollowSymLinks
    AllowOverride all
   <LimitExcept GET POST>
    Order deny,allow
    Allow from all
    Deny from all
    </LimitExcept>
</Directory>
<VirtualHost *:80>
    ServerAdmin master@domain.com
    DocumentRoot "/home/domain"
    ServerName domain.com
    ErrorLog "logs/domain.com-error_log"
    CustomLog "logs/domain-access_log" common
</VirtualHost>

# PHP 설정

vi /etc/php.ini
date.timezone=Asia/Seoul

vi /etc/php-fpm.d/www.conf

    listen.owner  = nobody
    listen.group = nobody
    isten.mode = 0660

    23 ; RPM: apache user chosen to provide access to the same directories as httpd
    24 user = nobody           [apache → nobody 변경]
    25 ; RPM: Keep a group allowed to write in log dir.
    26 group = nobody          [apache → nobody 변경]

 

    52 ; When POSIX Access Control Lists are supported you can set them using
    53 ; these options, value is a comma separated list of user/group names.
    54 ; When set, listen.owner and listen.group are ignored
    55 ; listen.acl_users = apache,nginx     [; 주석처리]
    56 listen.acl_groups = nobody        [라인 추가]

# systemctl  에러 발생

dnf install python2 
mv /usr/bin/systemctl /usr/bin/systemctl.old
curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl
chmod +x /usr/bin/systemctl

# systemctl start httpd 에서  status 가 failed 뜰때

mkdir /run
cd /run
mkdir httpd

 

# apache 실행/종료/재실행/상태 명령어

 

  • apache 시작 systemctl start httpd
  • apache 종료 systemctl stop httpd
  • apache 재실행 systemctl restart httpd
  • apache 상태 systemctl status httpd

# PHP 실행/종료/재실행/상태 명령어

 

 

  • systemctl start php-fpm
  • systemctl stop php-fpm
  • systemctl restart php-fpm
  • systemctl status php-fpm

 

# wsl 실행시 서버 자동실행 (oh my zsh 설치) 

https://ohmyz.sh/

1. wsl 접속
2. dnf install zsh git 설치
3. sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
4. vim ~/.zshrc 접속
5. 제일 하단에 systemctl start httpd;systemctl start php-fpm 추가
6. source ~/.zshrc
7. chsh -s /usr/bin/zsh 기본으로 설정 (chsh없을때 dnf install util-linux-user)
8. 재시작




- 부분 적용
git config --add oh-my-zsh.hide-status 1
git config --add oh-my-zsh.hide-dirty 1

- 전체 적용
git config --global --add oh-my-zsh.hide-status 1
git config --global --add oh-my-zsh.hide-dirty 1

 

 

 

#  윈도우 hosts 설정

::1			domain.com