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 설치)
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