반응형
우분투 20.04에 php 5.6, nginx, mysql 환경을 구축하는 과정을 간단하게 기록한다.
php5.6
sudo apt install python-software-properties -y
sudo apt install software-properties-common python-software-properties
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php5.6 php5.6-fpm php5.6-mysql php5.6-gd php5.6-mbstring php5.6-curl php5.6-soap php5.6-redis php5.6-xml php5.6-apcu php5.6-mcrypt -y
sudo apt install php5.6-cgi
mysql
apt install mysql-server
mysql-server를 설치하면 mysql_secure_installation을 실행할 수 있다는 메시지가 표시됩니다.mysql_secure_installation을 실행하면 몇 가지 설정이 실행됩니다.
- 루트 사용자에 대한 비밀번호 설정
– 익명 계정 삭제
– 루트 사용자 원격 로그인 취소
- test 라이브러리와 test 라이브러리에 대한 접근권 삭제
- 권한 부여 양식을 업데이트하여 변경 사항을 적용합니다.
다음 명령을 실행합니다
mysql_secure_installation
수정 /etc/mysql/my.cnf 내용은 php 5.6을 mysql에 연결할 수 있도록 하기 위한 것입니다
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
[client]
default-character-set = utf8
[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
default_authentication_plugin=mysql_native_password
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
service mysql restart로 mysql 재시작
nginx
nginx 설치
sudo apt install nginx
설정 파일을 /etc/nginx/sites-enabled/default로 수정하기
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
nginx 재시작
sudo service nginx restart
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
Ajax+PHP 기반 단일 파일, 다중 파일 비동기 업로드 인스턴스 (0) | 2022.07.28 |
---|---|
phpqrcode 생성 QR코드 (0) | 2022.07.28 |
PHP에서의 라우팅과 rewrite 사용 (0) | 2022.07.28 |
php 자동 로딩 메커니즘 구현 (0) | 2022.07.27 |
PHP 이미지를 데이터베이스에 업로드하여 표시 (0) | 2022.07.27 |