WSL 2로 LAMP 구성 설정
This article will assume that you already have WSL 2 set up and working. If you need help with that, you can check the Microsoft documentation.
WSL은 꽤 놀라운 업데이트였습니다. 속도 향상 및 Docker integration 에서 Windows에서의 개발이 그 어느 때보다 좋아졌습니다. 그러나 몇 가지 지속적인 네트워크 문제로 인해 웹 개발을 위해 완전히 전환하지 못했습니다. 그러나 이 모든 것은 마지막 업데이트 이후로 사라졌습니다. 따라서 Windows를 업데이트하고 WSL 설치에서 LAMP 구성을 설정하는 방법을 배우고 싶다면 오십시오.
윈도우 구성
먼저 모든 것이 제대로 작동하지 않도록 할 수 있는 Windows 기능을 비활성화해야 합니다. 이 기능은 Fastboot입니다. 예전에는 꽤 좋았습니다. 그러나 이제 SSD를 사용하면 상당히 쓸모가 없게 되었습니다. 이렇게 하려면
Windows Key + R
를 누르고 powercfg.cpl
를 입력한 다음 Enter 키를 눌러 전원 관리 제어판을 엽니다. 사이드바에서 두 번째 옵션을 클릭합니다.모든 옵션에 대한 수정 허용 및 fastboot 선택 해제
변경 사항을 적용하고 재부팅하면 계속할 준비가 된 것입니다.
아파치
이제 경로가 명확하므로 WSL 터미널을 열고 필요한 것을 설치하기 시작합니다. 먼저 다음을 사용하여 Apache를 설치합니다.
sudo apt-get install apache2
연결 문제를 방지하려면 다음 행을 편집
/etc/apache2/apache2.conf
하고 주석 처리를 제거하십시오.AcceptFilter http none
다시 쓰기 모듈을 활성화합니다.
sudo a2enmod rewrite
PHP
이제 PHP의 경우 먼저 다음을 수행하여 저장소를 추가하십시오.
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
apt-get update
그런 다음 PHP와 해당 모듈을 설치합니다.
sudo apt-get install php7.4 libapache2-mod-php7.4 php7.4-mysql php7.4-curl php7.4-json php7.4-gd php-memcached php7.4-intl php7.4-mbstring php7.4-xml php7.4-zip
MySQL
그리고 마지막으로 MySQL의 경우 MariaDB를 사용할 것입니다.
sudo apt-get install mariadb-server
이제 설치 보안을 위해 스크립트를 실행해야 합니다.
sudo mysql_secure_installation
Change the root password? [Y/n]: n
Remove anonymous users? [Y/n]: y
Disallow root login remotely? [Y/n]: y
Remove test database and access to it? [Y/n]: y
Reload privilege tables now? [Y/n]: y
MySQL 설치를 마무리하려면
sudo mysql -u root
로 MySQL 인스턴스에 로그인하고 사용자를 생성합니다(mysql_user
및 mysql_password
를 원하는 대로 대체).CREATE USER 'mysql_user'@'%' IDENTIFIED BY 'mysql_password';
GRANT ALL PRIVILEGES ON *.* TO 'mysql_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
WSL은 서비스를 자동으로 시작하지 않으므로 Apache 및 MySQL을 직접 시작해야 합니다. 다음 명령으로 수행할 수 있습니다.
sudo service apache2 start && sudo service mysql start
이제 브라우저에서
http://localhost
로 이동합니다. Apache 방문 페이지가 표시되어야 합니다.PHP 설치를 테스트하려면 다음과 같이
phpinfo.php
에 /var/www/html/
라는 파일을 만듭니다.<?php
phpinfo();
브라우저로 돌아가서
http://localhost/phpinfo.php
로 이동하여 PHP 구성을 확인합니다.그리고 여기 WSL 설치에서 실행되는 완전히 작동하는 LAMP 스택이 있습니다. 여기서 멈출 수도 있지만 삶의 질을 향상시키기 위해 2단계를 추가할 수 있습니다.
관리자
CLI를 통해 MySQL을 관리하는 것은 괜찮습니다. 그러나 때로는 GUI를 사용하는 것이 더 나을 수도 있습니다. 이를 위해 관리자를 선택했습니다.
설치하려면
/var/www/html
로 이동하여 다음을 사용하여 다운로드하십시오.sudo wget -O adminer.php https://github.com/vrana/adminer/releases/download/v4.7.7/adminer-4.7.7-mysql.php
이제
http://localhost/adminer.php
로 이동하면 이전에 생성한 사용자로 로그인할 수 있습니다.가상 호스트
http://localhost/project-name
로 다른 프로젝트에 액세스하는 것으로 충분합니다. 하지만 http://project-name.local
를 사용하여 좀 더 화려하게 만드는 것은 어떨까요?이렇게 하려면
/etc/apache2/sites-available/000-default.conf
를 편집하고 각 도메인에 대해 다음을 추가합니다.<VirtualHost *:80>
ServerName your-project.local
ServerAdmin [email protected]
DocumentRoot /path/to/project
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /path/to/project/>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
SetEnvIf Request_URI "\.(jpg|xml|png|gif|ico|js|css|swf|js?.|css?.)$" D$
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined env=!DontLog
</VirtualHost>
그런 다음
sudo service apache2 restart
로 Apache를 다시 시작합니다. 마지막으로 Windows에서 각 도메인에 대해 편집C:\Windows\System32\drivers\etc\hosts
하고 추가합니다.127.0.0.1 your-project.local
::1 your-project.local
이제 WSL에 완벽하게 작동하는 LAMP 스택이 있습니다. Windows 컴퓨터에서 Unix 환경의 속도와 즐거움을 즐기십시오.
문제가 발생하면 언제든지 문의해 주세요. 최대한 도와드리겠습니다 👍
Reference
이 문제에 관하여(WSL 2로 LAMP 구성 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/axiol/setting-up-a-lamp-configuration-with-wsl-2-5fbm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)