Magento在Debian Etch的电子商务解决方案

Magento电子商务解决方案Debian Etch

版本1.0
作者:Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>

本文档介绍如何在Debian Etch上设置Magento。 所产生的系统提供了具有许多功能的专业开源电子商务解决方案。 请注意,Magento目前是预览版,不推荐用于生产环境。 但至少值得一看。

这个howto是一个没有任何保证的实用指南 - 它不包括理论背景。 建立这样的系统有许多方法 - 这就是我选择的方式。

1准备

建立一个标准的Debian蚀刻系统并进行更新。 我对所附的虚拟机使用了以下配置:

主机名: 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缓存

建议使用APC作为字节码缓存(目前不支持其他字节码缓存)。 通过以下方式安装:

pecl install apc

当您询问是否要使用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根密码

首先我们必须为SQL root用户分配密码。

mysqladmin -u root password %sql_root_password%

注意:我使用密码youcl附加的vm。

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;

注意:我在附件vm中使用密码秘密

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-vhost创建SSL证书。 请注意,此自签名证书仅用于测试目的。

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 Magento VHosts

我们将创建两个vhosts,一个用于http连接,一个用于https连接。

7.1 HTTP

vi /etc/apache2/sites-available/magento

它应该是这样的:

NameVirtualHost 192.168.0.100:80

<VirtualHost 192.168.0.100:80>
    ServerName www.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/magento/
    
    <Directory /var/www/magento/>
        AllowOverride All
    </Directory>
    
    ErrorLog /var/log/apache2/magento_error.log
    CustomLog /var/log/apache2/magento_access.log combined
    LogLevel warn
    
</VirtualHost>

7.2 HTTPS

vi /etc/apache2/sites-available/magento_ssl

它应该是这样的:

NameVirtualHost 192.168.0.100:443

<VirtualHost 192.168.0.100:443>

    ServerName www.example.com
    ServerAdmin webmaster@example.com
    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

    <Directory /var/www/magento/>
        AllowOverride All
        SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
    </Directory>

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

</VirtualHost>

将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
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏