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