집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux 인스턴스에서 Magento 전자상거래 웹사이트를 구축하는 방법
이 글의 내용은 Linux 인스턴스에서 Magento 전자상거래 웹사이트를 구축하는 방법에 대한 내용입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Linux 인스턴스에서 Magento 전자상거래 웹사이트 구축
Magento는 오픈 소스 전자상거래 웹사이트 프레임워크로, 풍부한 모듈식 아키텍처와 확장 기능을 통해 대규모 및 중간 규모 사이트에 솔루션을 제공할 수 있습니다. PHP를 사용하여 개발되었으며 PHP 5.6에서 PHP 7.1까지의 버전을 지원하고 MySQL을 사용하여 데이터를 저장합니다. 이 문서에서는 주로 Alibaba Cloud ECS 인스턴스에서 Magento 전자상거래 웹사이트를 구축하는 방법을 설명합니다. 사용된 운영 체제는 Linux CentOS 7.2 64비트입니다.
적용 가능한 개체
ECS 및 Linux 시스템에 익숙하고 이제 막 Alibaba Cloud를 사용하여 웹 사이트를 구축하기 시작한 사용자에게 적용 가능합니다.
리소스
이 문서에 설명된 작업과 관련된 Linux ECS 인스턴스 구성에는 vCPU 2개, GiB 메모리 4개, Cent OS 7.2 64비트 운영 체제, VPC 네트워크 및 할당된 공용 IP 주소가 포함됩니다.
참고: Magento 2를 구축하는 데 사용되는 서버의 메모리는 2GiB 이상이어야 합니다.
이 기사를 기반으로 구축된 Magento 전자상거래 웹사이트는 다음 소프트웨어 버전 정보를 사용합니다.
MySQL 5.7
PHP 7.0
Magento 2.1
사전 요구 사항
VPC 네트워크 유형의 Linux ECS 인스턴스를 생성했습니다. 자세한 작업은 ECS 인스턴스 생성을 참조하세요. 구성에는 vCPU 2개, GiB 메모리 4개, Cent OS 7.2 64비트 운영 체제, VPC 네트워크 및 할당된 공용 IP 주소가 포함됩니다.
ECS 인스턴스가 위치한 보안 그룹에 다음 표의 보안 그룹 규칙이 추가되었습니다. 자세한 작업은 ECS 인스턴스 생성 및 보안 그룹 규칙 추가를 참조하세요.
작업 단계
클라우드 서버 ECS를 사용하여 Magento 웹 사이트를 구축하는 단계는 다음과 같습니다.
Step 1. LAMP 플랫폼 설치 및 구성
Step 2. 데이터베이스 생성
Step 3. 설치 및 구성 Composer
4단계. Magento 설치 및 구성
5단계. cron 작업 추가
1단계. LAMP 플랫폼 설치 및 구성
이 섹션에서는 LAMP 플랫폼을 수동으로 설치하는 방법을 설명합니다. 클라우드 마켓에서 LAMP 이미지를 구매하여 ECS 인스턴스를 직접 시작하여 웹 사이트를 빠르게 구축할 수도 있습니다.
다음 명령을 순서대로 실행하여 패키지와 리포지토리를 업데이트하고 Apache 웹 서버와 MySQL 서버를 설치하세요.
# yum -y update # yum -y install httpd # rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm # yum -y install mysql-community-server
HTTP 및 MySQL 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정하세요.
# systemctl start httpd # systemctl enable httpd # systemctl start mysqld # systemctl enable mysqld
Apache 구성 파일을 편집하세요.
vim /etc/httpd/conf/httpd.conf 명령을 실행하세요.
i 키를 눌러 편집 모드로 들어갑니다.
다음과 같이 수정하세요.
Include conf.modules.d/*.conf 뒤에 LoadModule rewrite_module 모듈/mod_rewrite.so를 추가하세요.
다음에서 AllowOverride None을 AllowOverride로 모두 변경하세요.
옵션 색인 FollowSymLinks
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None
Esc 키를 눌러 편집을 종료하고 :wq를 입력하여 저장하고 종료하세요.
MySQL 설치 시 자동으로 설정된 루트 사용자 비밀번호를 얻으려면 /var/log/mysqld.log 파일을 확인하세요.
# grep 'temporary password' /var/log/mysqld.log 2016-12-13T14:57:47.535748Z 1 [Note] A temporary password is generated for root@localhost: p0/G28g>lsHD
다음 명령을 실행하면 다음 네 가지 측면에서 MySQL의 보안을 향상할 수 있습니다.
루트 계정 비밀번호 설정
루트 계정 원격 로그인 금지
익명 사용자 계정 삭제
테스트 라이브러리 및 액세스 권한 삭제 테스트 라이브러리
자세한 지침은 공식 문서에서 확인할 수 있습니다.
# mysql_secure_installation Securing the MySQL server deployment. Enter password for user root: #输入第4步中获取的root用户密码 The 'validate_password' plugin is installed on the server. The subsequent steps will run with the existing configuration of the plugin. Using existing password for root. Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y #是否更改root用户密码,输入Y New password: #输入密码 Re-enter new password: #再次输入密码 Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y #是否删除匿名用户,输入Y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y Success. All done!
PHP 7 및 일부 추가 필수 PHP 확장을 설치하려면 다음 명령을 실행하세요.
# yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-14.ius.centos7.noarch.rpm # yum -y update # yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-gd php70u-mcrypt php70u-devel php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv
PHP 버전을 확인하여 PHP가 성공적으로 설치되었는지 확인하세요.
# php -v PHP 7.0.13 (cli) (built: Nov 10 2016 08:44:18) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.13, Copyright (c) 1999-2016, by Zend Technologies
/etc/php.ini 구성 파일을 편집하세요.
vim /etc/php.ini 명령을 실행하세요.
i를 눌러 편집 모드로 들어갑니다.
파일 끝에 다음 구성을 추가합니다.
memory_limit = 128M #실제 상황에 따라 메모리 제한을 늘립니다.
date.timezone = Asia/Shanghai # 시간대를 상하이로 설정합니다.
웹 서비스 프로세스를 다시 시작하세요.
# systemctl restart httpd
2단계. 데이터베이스 생성
다음 단계에 따라 데이터베이스를 생성하세요.
데이터베이스 및 사용자 생성: Magento 데이터에 대한 데이터베이스 및 데이터베이스 사용자를 생성합니다. 데이터베이스 및 사용자 이름은 실제 상황에 따라 수정될 수 있습니다.
# mysql -u root -p Enter password: mysql> CREATE DATABASE magento; #根据实例情况替换magento Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL ON magento.* TO YourUser@localhost IDENTIFIED BY 'YourPass'; #根据实际情况替换YourUser和YourPass Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
Exit를 실행하여 MySQL을 종료하세요.
(可选)验证新建的Magento数据库和用户是否可用。
# mysql -u YourUser -p mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | magento | +--------------------+ 2 rows in set (0.00 sec) mysql> exit
步骤3. 安装配置Composer
Composer是PHP一个包管理和包依赖管理的工具。按以下步骤安装配置Composer。
安装Composer。
# curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading 1.2.4... Composer successfully installed to: /root/composer.phar Use it: php composer.phar
配置Composer全局使用。
# mv /root/composer.phar /usr/bin/composer
测试命令是否可用。
# composer -v ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.2.4 2016-12-06 22:00:51
步骤4. 安装配置Magento
您可以使用不同的方法安装Magento,也可以选择是否安装示例数据。如果安装Magento仅用于测试,您可以选择安装示例数据。如果是在生产环境中安装Magento,建议您安装全新的Magento,从头开始配置。
本部分介绍如何使用git下载Magento,然后使用Composer安装Magento。
依次运行以下命令,通过 git clone 下载Magento。
# yum -y install git # cd /var/www/html/ # git clone https://github.com/magento/magento2.git
(可选)将Magento切换到稳定版本。
默认情况git下载安装Magento是一个最新的开发版本。如果您在生产环境中使用,建议切换到稳定版本,否则未来将无法升级安装。
# cd magento2 && git checkout tags/2.1.0 -b 2.1.0 Switched to a new branch '2.1.0'
将安装文件移到Web服务器根目录下。否则,您只能通过 http://[ECS实例公网IP地址]/magento2 访问您的Magento站点。
# shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..
设置Magento文件适当的权限。
# chown -R :apache /var/www/html # find /var/www/html -type f -print0 | xargs -r0 chmod 640 # find /var/www/html -type d -print0 | xargs -r0 chmod 750 # chmod -R g+w /var/www/html/{pub,var} # chmod -R g+w /var/www/html/{app/etc,vendor} # chmod 750 /var/www/html/bin/magento
运行 composer install 安装Magento。
测试:在浏览器中访问 http://[ECS实例公网IP地址],如果出现以下页面,说明Magento安装成功。
单击 Agree and Setup Magento 开始配置Magento:按实际情况填写连接数据库信息、Web访问设置、定制商店、创建管理员账号。出现如下图所示的界面时,说明Magento配置完成
步骤5. 添加cron作业
运行 crontab -u apache -e 设置cron运行调度工作。
添加以下内容。
*/10 * * * * php -c /etc /var/www/html/bin/magento cron:run */10 * * * * php -c /etc /var/www/html/update/cron.php */10 * * * * php -c /etc /var/www/html/bin/magento setup:cron:run
위 내용은 Linux 인스턴스에서 Magento 전자상거래 웹사이트를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!