- 프로젝트명 : server
- 프로젝트 선택 : 전체 -> server
2. VM인스턴스 생성
- 메뉴 -> VM인스턴스 -> 만들기
- 이름 : mysite
- 머신유형 : 초소형(공유 vCPU 1 개)
- 부팅 디스크 : 변경 -> OS이미지 -> CentOS 7
- http 트래픽허용 체크
- 만들기
3. VM 인스턴스 목록
- SSH 클릭(인증되며 까만창 뜸)
4. 프롬프트 창내의 명령실행
- 업데이트 및 다운로드,압축풀기 설치
sudo yum update -y sudo yum install -y wget unzip- FTP 용 계정생성 및 비밀번호 생성
sudo useradd myid sudo passwd myid- 사이트 경로 생성 및 권한 추가
sudo mkdir /home/myid/mysite sudo chmod +x /home/myid/mysite- PHP + 모듈 설치
sudo yum install -y epel-release sudo rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum --enablerepo=remi update remi-release sudo yum --enablerepo=remi-php73 install -y php php-fpm php-mysql php-gd php-common php-cli php-json php-opcache php-devel php-imagick php-mbstring php-mcrypt php-mysqlnd php-pear php-xml php-xmlrpc php-soap php-dba php-bcmath php-pdo php-ldap- vi 편집기("insert 키" : 편집 및 수정, "Escape 키" : 보기모드, ":wq" : 저장, ":q" : 저장하지않고 닫기, ":/검색어" : 검색어 검색 )
- 편집기로 PHP 설정파일(/etc/php.ini) 설정 명령
sudo vi /etc/php.ini- php.ini 변경내용(검색해서 해당 값만 변경)
cgi.fix_pathinfo = 0 allow_url_fopen = Off expose_php = Off display_errors = Off- 편집기로 php-fpm 설정파일(/etc/php-fpm.d/www.conf) 수정
sudo vi /etc/php-fpm.d/www.conf- www.conf 변경내용 1. apache를 myid로 교체(apache로 검색)
user = myid group = myid- www.conf 변경내용 2. 주석제거(nobody로 검색)
listen.owner = nobody listen.group = nobody- Nginx 설정파일 생성
sudo vi /etc/yum.repos.d/nginx.repo- nginx.repo 내용 입력(신규생성)
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1- Nginx 설치
sudo yum install -y nginx- Nginx 설정파일 수정
sudo vi /etc/nginx/nginx.conf- Nginx 설정파일 수정내용(http{}안에 추가)
server_tokens off;- 방화벽 설정(http,https,ftp,database(MariaDB))
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload- Nginx 기본 설정 삭제
sudo rm /etc/nginx/conf.d/default.conf- Nginx 기본 설정 만들기
sudo vi /etc/nginx/conf.d/default.conf- Nginx 기본 설정 만들기 내용(아래내용을 복사, 붙여넣기)
server { listen 80; server_name localhost; charset utf-8; root /home/myid/mysite; #access_log /var/log/nginx/host.access.log main; location / { index index.php index.html index.htm; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /home/myid/mysite; } location ~ \.php(?:$|/) { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }- php-fpm, nginx 재시작
sudo systemctl start php-fpm sudo systemctl enable php-fpm sudo systemctl start nginx sudo systemctl enable nginx sudo systemctl reload nginx- ftp 프로그램인 vsftpd 설치
sudo yum -y install vsftpd- vsftpd 설정파일 삭제
sudo rm /etc/vsftpd/vsftpd.conf- vsftpd 설정파일 생성
sudo vi /etc/vsftpd/vsftpd.conf- vsftpd 설정파일 내용입력
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES chroot_local_user=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES allow_writeable_chroot=yes pasv_enable=Yes pasv_max_port=40000 pasv_min_port=40000- SELinux 권한에서 차단되는 경우가 있으므로 처리
sudo setenforce 0- SELinux 권한에서 차단되는 경우가 있으므로 설정도 편집
sudo vi /etc/selinux/config- SELinux 권한에서 차단되는 경우가 있으므로 설정도 편집(내용수정 disabled)
SELINUX=disabled- vsftpd 설정된 서비스로 재시작
sudo systemctl enable vsftpd sudo systemctl restart vsftpd- ftp 불가한 아이디 목록1에서 편집(root 제거)
sudo vi /etc/vsftpd/ftpusers- ftp 불가한 아이디 목록2에서 편집(root 제거)
sudo vi /etc/vsftpd/user_list- ftp 접속권한 편집
sudo chown myid:myid /home/myid/mysite/ sudo chmod 555 /home/myid sudo chmod 777 /home/myid/mysite- ftp 아이디 myid 접근권한 편집
sudo vi /etc/passwd- ftp 아이디 myid 접근권한 편집맨아래 추가
myid:x:1001:1002::/home/myid/mysite: myid:x:1001:1002::/home/myid/mysite:/bin/bash- MariaDB 설정 추가
sudo vi /etc/yum.repos.d/MariaDB.repo- MariaDB 설정 추가(새로생성)
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1- MariaDB 설치 및 서비스 추가
sudo yum install -y MariaDB-client MariaDB-server sudo systemctl start mariadb sudo systemctl enable mariadb- MariaDB root 루트 비밀번호 생성 및 설정(비밀번호,접속권한,test테이블등)
sudo mysql_secure_installation- 그냥 순서대로함...
password password y n y y- MariaDB 재시작
sudo systemctl restart mariadb- MariaDB 접속
sudo mysql -u root -p- MariaDB 패스워드 로그인후 원격접속 가능하도록 root에 권한 부여, 비밀번호 다시 부여 후 접속 종료
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit5. Google Cloud Platform 메뉴에서 VPC네트워크 방화벽설정
- Google Cloud Platform 메뉴 -> 방화벽규칙 -> 만들기
- 이름 : mysite
- 대상 : 네트워크의 모든인스턴스
- 소스 IP 범위: 0.0.0.0/0
- 프로토콜 및 포트 : tcp 체크 -> 20-21,3306,40000
- 만들기
6. PHP MariaDB 접속 테스트 - index.php 생성
sudo vi /home/myid/mysite/index.php- index.php 내용
<?php $conn=mysqli_connect('127.0.0.1', 'root', 'password'); if($conn) echo "db연결성공"; else echo "db연결 실패"; ?>7. ssh 옆에 외부 아이피 클릭 및 확인
8. ftp는 fileziller 이용하거나 크롬 브라우저로 접속확인가능
댓글 없음:
댓글 쓰기