관리 메뉴

투덜이 개발자

WSL(우분투) 환경에 Laravel(라라벨) 11 설치 본문

Program Language/PHP

WSL(우분투) 환경에 Laravel(라라벨) 11 설치

엠투 2025. 5. 19. 23:48
반응형

WSL(우분투) 환경에 Laravel(라라벨) 11 설치

 

curl -s https://laravel.build/laraking | bash


해서 설치 되면 최신버전이 설치 된다. 현 시점 12 가 설치 된다.

 

 

WSL(우분투) 환경에는 PHP가 설치되어 있지 않아서 Laravel 11을 설치할 수 없습니다.

 

그래서 PHP, Composer 를 설치후 Laravel 및 Sail 을 설치한다.

 

1. PHP 8.2 설치 (권장)

sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-common php8.2-mbstring php8.2-xml php8.2-curl php8.2-mysql unzip -y



2. Composer 설치 (Laravel 설치용)

cd ~
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer



설치 확인:

composer -V



3. Laravel 11 설치

cd /mnt/c/docker
composer create-project laravel/laravel:^11.0 laraking




4. Sail 설치 (선택)

cd laraking

# Sail 설치
composer require laravel/sail --dev

# Sail 설정
php artisan sail:install

# MySQL 선택 후 설치 완료되면
./vendor/bin/sail up -d


#php artisan sail:install 설치시 DB 선택을 물어보는데 mysql 을 선택하자. 다른 DB  선택시 .env 설정을 변경해줘야 한다.

# docker 프로세서 확인

docker compose ps



#기본 테이블 생성

./vendor/bin/sail artisan migrate



# docker 종료

./vendor/bin/sail down

 

브라우저에서 http://localhost/ 접속하면 Laravel 초기 화면이 보이면 정상적으로 설치가 된거다.

wls 아파치가 실행중이면 종료해주자

 

 

이제 http://localhost/ 접속 시 라바벨 초기 화면이 나오지 않고 Apache2 Ubuntu Default Page 가 나온다.
Apache 설정을 Laravel 폴더로 바꿔줘야 한다.

 

1. Laravel 프로젝트 디렉토리 확인
예: /mnt/c/docker/laraking/public ← 여기가 index.php가 있는 루트입니다.

2. Apache 설정 파일 열기
sudo vi /etc/apache2/sites-available/000-default.conf

3. DocumentRoot 수정
DocumentRoot /var/www/html 을 찾아 아래와 같이 수정한다.

DocumentRoot /mnt/c/docker/laraking/public
<Directory /mnt/c/docker/laraking/public>
    AllowOverride All
    Require all granted
</Directory>
중요: AllowOverride All 설정을 해야 .htaccess가 적용되어 Laravel 라우팅이 작동합니다.

4. Laravel storage 권한 설정 (처음 설치 시 한 번만)
cd /mnt/c/docker/laraking
sudo chmod -R 775 storage bootstrap/cache

5. Apache 모듈 활성화 및 재시작
sudo apache2ctl configtest
sudo a2enmod rewrite
sudo systemctl restart apache2

이제 다시 브라우저에서 http://localhost/ 접속하면 Laravel 초기 화면이 보여야 정상입니다.

 

DB 를 mariadb 로 설치하였더니 문제가 발생하였다.

 

그러나 막상 접속하면 라라벨 Laravel 초기 화면이 보이지만 에러가 발생한다.

.env 파일을 열어서 다음과 같이 수정

DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password

 

설정 반영을 위해 아래와 같이 실행

./vendor/bin/sail artisan config:clear
./vendor/bin/sail artisan migrate

 

그러나 실행하면 또 에러 발생

Docker만 사용하고 Apache 끄기 (권장)

sudo service apache2 stop

 

Docker 컨테이너 프로세서 확인

docker compose ps

 

Docker 컨테이너 종료

./vendor/bin/sail down
반응형