E-Commerce · 3 min read · Oct 25, 2025

Решение электронной коммерции Magento на Debian Etch

Решение электронной коммерции Magento на Debian Etch

Версия 1.0
Автор: Оливер Мейер

Этот документ описывает, как установить Magento на Debian Etch. Полученная система предоставляет профессиональное решение электронной коммерции с открытым исходным кодом и множеством функций. Обратите внимание, что Magento в настоящее время находится в предварительном релизе и не рекомендуется для использования в производственных средах. Но, по крайней мере, стоит на него взглянуть.

Этот howto является практическим руководством без каких-либо гарантий - он не охватывает теоретические основы. Существует много способов настроить такую систему - это тот способ, который я выбрал.

1 Подготовка

Настройте стандартную систему Debian Etch и обновите ее. Я использовал следующую конфигурацию для прикрепленной виртуальной машины:

Имя хоста: server1.example.com
IP: 192.168.0.100
Маска подсети: 255.255.255.0
Шлюз: 192.168.0.2
Pri.DNS: 192.168.0.2

2 Необходимые пакеты

Сначала установим некоторые необходимые пакеты, чтобы подготовить систему для Magento.

apt-get install apache2 apache2-prefork-dev mysql-server-5.0 php5 php5-dev php5-mysql php5-mcrypt php5-mhash php5-curl php-pear re2c make

3 APC Cache

Рекомендуется использовать APC в качестве кэша байт-кода (другие кэши байт-кода в настоящее время не поддерживаются). Установите его через:

pecl install apc

Выберите “ yes “, когда вас спросят, хотите ли вы использовать apxs для установки флагов компиляции. После этого нам нужно добавить APC в php.ini - перед этим вам следует сделать резервную копию.

cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.orig
vi /etc/php5/apache2/php.ini

Добавьте следующую строку:

extension=apc.so

Теперь вам нужно перезапустить apache.

/etc/init.d/apache2 restart

4 Подготовка MySQL

На этом этапе мы подготавливаем базу данных для Magento.

4.1 Пароль root

Сначала нам нужно назначить пароль для пользователя SQL root.

mysqladmin -u root password %sql_root_password%

Примечание: я использовал пароль howtoforge в прикрепленной виртуальной машине.

4.2 База данных Magento

Далее мы создаем базу данных для Magento.

mysqladmin -u root -p create magento  
%sql_root_password%

4.3 Пользователь базы данных

Теперь мы создаем нового пользователя для базы данных Magento.

mysql -u root -p  
%sql_root_password%
GRANT CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON magento.* TO 'magento_admin'@'localhost' IDENTIFIED BY '%magento_admin_password%';  
GRANT CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON magento.* TO 'magento_admin'@'localhost.localdomain' IDENTIFIED BY '%magento_admin_password%';  
FLUSH PRIVILEGES;

Примечание: я использовал пароль secret в прикрепленной виртуальной машине.

quit;

5 Получить Magento

Время загрузить и распаковать Magento. Кроме того, нам нужно изменить права.

cd /var/www/  
wget http://www.magentocommerce.com/downloads/assets/0.6.14100/light/magento-0.6.14100.tar.gz  
tar xvfz magento-0.6.14100.tar.gz  
rm -f magento-0.6.14100.tar.gz  
chown -R root:root magento/  
chown root:www-data magento/var/.htaccess  
chown -R root:www-data magento/app/etc/  
chown -R root:www-data magento/var/  
chown -R root:www-data magento/media/

6 SSL сертификат

Мы создаем SSL сертификат для SSL-vhost. Обратите внимание, что этот самоподписанный сертификат предназначен только для тестирования.

mkdir /etc/apache2/ssl/  
cd /etc/apache2/ssl/  
openssl req -new > server.cert.csr  
openssl rsa -in privkey.pem -out server.cert.key  
openssl x509 -in server.cert.csr -out server.cert.crt -req -signkey server.cert.key -days 365

7 VHosts Magento

Мы создадим два vhosts - один для http-соединений и один для https-соединений.

7.1 HTTP

vi /etc/apache2/sites-available/magento

Он должен выглядеть так:

NameVirtualHost 192.168.0.100:80


    ServerName www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/magento/
    
    
        AllowOverride All
    
    
    ErrorLog /var/log/apache2/magento_error.log
    CustomLog /var/log/apache2/magento_access.log combined
    LogLevel warn
    

7.2 HTTPS

vi /etc/apache2/sites-available/magento_ssl

Он должен выглядеть так:

NameVirtualHost 192.168.0.100:443



    ServerName www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/magento/

    SSLEngine on
    SSLCertificateKeyFile ssl/server.cert.key
    SSLCertificateFile ssl/server.cert.crt
    SSLProtocol all
    SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

    
        AllowOverride All
        SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
    

    ErrorLog /var/log/apache2/magento_error.log
    CustomLog /var/log/apache2/magento_access.log combined
    LogLevel warn

Добавьте порт HTTPS в конфигурацию apache.

vi /etc/apache2/ports.conf

Добавьте следующую строку:

Listen 443

7.3 Модули и сайты

После этого мы включаем новые сайты, …

a2ensite magento  
a2ensite magento_ssl

… модуль переписывания …

a2enmod rewrite

… и модуль ssl.

a2enmod ssl

Теперь нам нужно перезапустить apache.

/etc/init.d/apache2 restart
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.