Laravel 서버 구축 (Ubuntu 기반)
1. Ubuntu 시스템 준비
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl git unzip
2. PHP 및 확장 모듈 설치
sudo apt install -y php php-cli php-fpm php-json php-common \
php-mysql php-zip php-gd php-mbstring php-curl php-xml \
php-pear php-bcmath
3. MySQL 설치 및 설정
# MySQL 설치
sudo apt update
sudo apt install -y mysql-server
# 보안 설정
sudo mysql_secure_installation
# MySQL 접속 및 계정/DB 생성
sudo mysql
CREATE DATABASE your_db_name;
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_db_name.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. Apache 웹 서버 설치 및 설정
# Apache 설치
sudo apt install apache2
# Apache 실행 및 부팅 시 자동 실행 설정
sudo systemctl start apache2
sudo systemctl enable apache2
# 방화벽 예외 등록
sudo ufw allow 'Apache'
# 상태 확인
sudo systemctl status apache2
4-1. Apache 가상 호스트 설정
sudo nano /etc/apache2/sites-available/laravel.conf
<VirtualHost *:80>
ServerName your_domain_or_ip
DocumentRoot /var/www/your_project_name/public
<Directory /var/www/your_project_name>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# Laravel 가상 호스트 활성화 및 Apache 재시작
sudo a2ensite laravel.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
5. Composer 설치 (PHP 패키지 매니저)
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
6. Laravel 프로젝트 배포
6-1. 신규 프로젝트 생성
cd /var/www
composer create-project --prefer-dist laravel/laravel your_project_name
6-2. 혹은 기존 프로젝트 업로드
# FTP/SFTP 등을 통해 /var/www/html/ 또는 /var/www/ 경로에 업로드
# 권한 설정
sudo chown -R www-data:www-data /var/www/your_project_name
sudo chmod -R 755 /var/www/your_project_name
7. Node.js, NPM 설치 (프론트 빌드 등 사용 시)
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install -y nodejs
8. Puppeteer 및 Chrome 설치 (크롤링/스크린샷 등 필요 시)
# Chrome 설치
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install -y ./google-chrome-stable_current_amd64.deb
# Puppeteer 설치
mkdir puppeteer-test && cd puppeteer-test
npm init -y
npm install puppeteer
9. 결론
- Laravel .env 설정 완료 여부 확인 (DB_*, APP_KEY, 등)
- php artisan key:generate
- php artisan migrate (필요 시)
- /storage 폴더 권한 설정 확인
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache
'개발 환경 | 도구 > 서버 | 인프라 | 배포 | 운영' 카테고리의 다른 글
[온프레미스 vs 클라우드] IT 인프라 구축 시 고려해야 할 모든 것 (0) | 2025.02.08 |
---|---|
[용어] 로드 밸런싱 (Load Balancing) 개념 및 실무 적용 (0) | 2025.01.29 |
[NetWork] 파일 FTP / SFTP 란 무엇일까? (0) | 2024.12.23 |
[Windows] 개발자를 위한 윈도우 필수 명령어와 도구 모음 (0) | 2024.11.11 |
[Laravel] 프로세스 관리: systemd → Supervisor 이관 가이드 (1) | 2024.11.08 |