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_usermysql_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 환경의 속도와 즐거움을 즐기십시오.

문제가 발생하면 언제든지 문의해 주세요. 최대한 도와드리겠습니다 👍

좋은 웹페이지 즐겨찾기