您的位置:首页 > 数据库 > Memcache

linux (ubuntu) 安装 lamp(apache、mysql、php、memcache、svn 等)

2014-04-05 13:21 495 查看
作者:yuliying

转自:/article/11668663.html

有些软件包可能电脑上有了就不用重新装了,我因为是ubuntu server版,啥都没有所以一个个装下去了。也可以选择直接apt-get 安装。
以下是我安装lamp以及memcache , redis 等的记录。有些创建文件夹,进入文件夹的命令就不写了。

mkdir /data/www
chmod 0777 /data/www
mkdir /data/logs

chmod 0777 /data/logs

mkdir /data/temp

chmod 0777 /data/temp

cd /data/temp
################# build-essential

apt-get install build-essential
(build-essential 可以一键安装编译所必须的N多软件包)

################# APR
tar -zxvf apr-1.4.6.tar.gz
./configure --prefix=/usr/local/apr
make
make install
################# APR-UTIL

tar -zxvf apr-util-1.5.2.tar.gz
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
################# PCRE

tar -xvf pcre-8.31.tar.bz2
./configure --prefix=/usr/local/pcre
make
make install

################# zlib

tar -zxvf zlib-1.2.3.tar.gz
./configure

make

make install

################# apache

tar -xzvf httpd-2.4.3.tar.gz

./configure --prefix=/usr/local/services/apache --enable-deflate --enable-expires --enable-headers --enable-rewrite --enable-mods-shared=all --with-enable=so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

make
在64位机器上make遇到问题: zlib/lib/libz.a: could not read symbols: Bad value
解决办法:

在zlib的MakeFile里面加上-fPIC参数

CFLAGS=-O3 -DUSE_MMAP -fPIC

就是要在编译libz.a的时候加上-fPIC参数,所以,就去修改相应的MakeFile了

重新编译下zlib就可以了


make install

cd /usr/local/services/apache

vim conf/httpd.conf

################# apache 配置开始 ####################

DocumentRoot "/data/www"
ServerName localhost
<Directory />

Order Deny,Allow

Deny from All

</Directory>


<Directory "/data/www">

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

<IfModule mpm_prefork_module>

ServerLimit 1000

StartServers 100

MinSpareServers 50

MaxSpareServers 100

MaxClients 1000

MaxRequestsPerChild 4000

</IfModule>

<IfModule mod_deflate.c>

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/plain text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript

AddOutputFilterByType DEFLATE application/rss+xml

</IfModule>

ErrorLog "/data/logs/apache_error_log.txt"

LogLevel warn

LoadModule php5_module modules/libphp5.so (安装PHP后如过没有加上)

AddType application/x-httpd-php .php
(安装PHP后如过没有加上)

################# apache 配置结束 (暂无)####################

/usr/local/services/apache/bin/apachectl start

################# libxml2

tar xzvf libxml2-2.6.30.tar.gz

cd libxml2-2.6.30/

./configure

make "CFLAGS=-U_FORTIFY_SOURCE"

make install
################# curl

tar xzvf curl-7.31.0.tar.gz

cd curl-7.31.0/

./configure

make

make install

################# jpeg

tar xzvf jpegsrc.v8d.tar.gz

cd jpegsrc.v8d/

./configure

make

make install
################# png

tar xzvf libpng-1.2.31.tar.gz

cd libpng-1.2.31/

./configure

make

make install
################# openssl

apt-get install libcurl4-openssl-dev
################# mcrypt
tar -zxvf libmcrypt-2.5.7.tar.gz
./configure

make

make install
################# cmake (编译mysql需要用到)
cd /data/temp

tar -xzvf cmake-2.8.9.tar.gz

cd cmake-2.8.9

./configure

make

make install

################# ncurses

apt-get install libncurses5-dev

################# m4

tar -zxvf m4-1.4.17.tar.gz

./configure

make

make install

################# bison

tar -zxvf bison-3.0.tar.gz

./configure

make

make install

################# MYSQL
mysql最好安装最新版本的,之前安装5.5.28版本会有一些问题导致make失败
在我的512M内存的云服务器上手动编译的mysql会因为内存不足在启动的时候被kill掉。
可采用apt-get的方式一键安装apt-get install mysql-server , 然后去修改相应的配置文件 /etc/mysql/my.cnf,减少内存分配。
一键安装的服务名称为mysql,可以使用service mysql start/stop/status来控制。
以下为手动编译安装:

groupadd mysql

useradd -g mysql mysql -s /bin/false

mkdir -p /data/mysql

mkdir -p /usr/local/mysql

chown -R mysql:mysql /data/mysql

chown -R mysql:mysql /usr/local/mysql/

cd /data/temp

tar -xzvf mysql-5.6.15.tar.gz

cd mysql-5.6.15

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc

make

make install

/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql

cp
/usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

vim /etc/my.cnf

datadir = /data/mysql

port = 3306

socket =/tmp/mysql.sock

log-error=/data/logs/mysql_error.log

cp
/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

chkconfig mysqld on 这里启动设置有点问题,先不管了,先手动启动mysql吧

service mysqld start

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

source/etc/profile

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

mysql_secure_installation 按照提示一步步设置,我相信大家的英文水平 :-)

service mysqld restart #重启

################# php

tar xzvf php-5.4.19.tar.gz

cd php-5.4.19/

./configure --prefix=/usr/local/services/php --with-apxs2=/usr/local/services/apache/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-libxml-dir=/usr/local/lib/ --disable-short-tags --with-curl --enable-mbstring --without-pear
--with-gd --with-jpeg-dir=/usr/local/lib/ --with-png-dir=/usr/local/lib/ --enable-sockets --with-zlib --enable-pcntl --enable-shmop --enable-sysvsem --enable-sysvmsg --with-openssl --enable-bcmath --with-mcrypt

make

make install

vim /usr/local/services/apache/conf/httpd.conf

AddType application/x-httpd-php .php

cp /data/temp/php-5.4.19/php.ini-production /usr/local/services/php/lib/php.ini
vim /usr/local/services/php/lib/php.ini
extension_dir = "/usr/local/services/php/extensions"

一些扩展按照自己的需要打开吧,好像默认已经打开了很多扩展。

display_errors = On
log_errors = On

error_reporting = E_ALL
error_log = /data/logs/php_errors.log
/usr/local/services/apache/bin/apachectl restart

################# libevent

tar -zxvf libevent-2.0.21-stable.tar.gz

./configure
make
make install

################# memcached

memcached-1.4.15.tar.gz

cd memcached-1.4.15/

./configure --prefix=/usr/local/services/memcached --with-libevent=/usr/local/lib

make

make install

/usr/local/services/memcached/bin/memcached -d -u root -m 500 -c 10000 -p 11211 -l localhost

################# autoconf

tar -zxvf autoconf-2.68b.tar.gz
./configure
make
make install

################# memcache 扩展

tar xzvf memcache-2.2.7.tgz

cd memcache-2.2.7/

/usr/local/services/php/bin/phpize

./configure --with-php-config=/usr/local/services/php/bin/php-config

make

make install

mkdir /usr/local/services/php/extensions

mv /usr/local/services/php/lib/php/extensions/no-debug-zts-20100525/memcache.so /usr/local/services/php/extensions

vim /usr/local/services/php/lib/php.ini
extension_dir = "/usr/local/services/php/extensions"
extension=memcache.so
################# sqlite
cd /data/temp

tar -zxvf sqlite-autoconf-3080200.tar.gz
cdsqlite-autoconf-3080200
./configure --prefix=/usr/local/sqlite

make
make install

################# SVN版本控制

tar -zxvf subversion-1.8.5.tar.gz

cd subversion-1.8.5

./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/services/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-sqlite=/usr/local/sqlite --enable-maintainer-mode --with-zlib=/usr/local/zlib

make

make install

vim /etc/profile

export PATH=$PATH:/usr/local/subversion/bin/

source /etc/profile

//创建svn数据目录

mkdir /data/svn

//创建版本库目录

mkdir /data/svn/test

//创建版本库

svnadmin create /data/svn/test/

chmod -R 0777 /data/svn/test/

(访问方式1: 通过svn协议访问)

cd /data/svn/test/conf/

vim /data/svn/test/conf/svnserve.conf

[general]

anon-access = none //匿名用户禁止读写

auth-access = write //验证用户有读写权限

password-db = passwd

authz-db = authz

vim /data/svn/test/conf/passwd

[users]

yuliying = 123456 //用户-密码

vim /data/svn/test/conf/authz

[groups]

admin=yuliying //用户组设置

[/]

@admin = rw //用户组权限

svnserve -d -r /data/svn

此时可以用乌龟通过 svn://192.168.0.116/test 来checkout

(访问方式2,通过apache访问)

vim /usr/local/services/apache/conf/httpd.conf

LoadModule dav_module modules/mod_dav.so

LoadModule dav_svn_module /usr/local/subversion/libexec/mod_dav_svn.so

LoadModule authz_svn_module /usr/local/subversion/libexec/mod_authz_svn.so

<Location /svn>

DAV svn

SVNListParentPath on

SVNParentPath /data/svn/

AuthType Basic

AuthName "Hello welcome to here"

AuthUserFile /data/svn/passwd

AuthzSVNAccessFile /data/svn/authz

Require valid-user

</Location>

/usr/local/services/apache/bin/htpasswd -c /data/svn/passwd yuliying 第二次不用加c参数,c是创建文件

vim /data/svn/authz

[test:/]

yuliying = rw

/usr/local/services/apache/bin/apachectl restart

此时可以通过 http://192.168.0.116/svn/test/来checkout.
在本地服务器上checkout使用 svn checkout file:///data/svn/test/

################# APC

/usr/local/services/php/bin/phpize

./configure --enable-apc --enable-apc-mmap --with-php-config=/usr/local/services/php/bin/php-config --enable-apc-spinlocks --disable-apc-pthreadmutex

make

make install

编辑php.ini

apc.enabled = 1

apc.shm_segments = 1

apc.shm_size = 64M

apc.optimization = 1

apc.num_files_hint = 0

apc.ttl = 0

apc.gc_ttl = 3600

apc.cache_by_default = on

################# Redis
cd /data/temp

tar xzvf redis-2.4.14.tar.gz

mv redis-2.4.14 /usr/local/services/redis

cd /usr/local/services/redis

make

make install

mkdir /data/logs/redis/

chmod 0777 /data/logs/redis/

mkdir /data/redis/

################# Redis 扩展
cd /data/temp

tar xzvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz

cd owlient-phpredis-90ecd17/

/usr/local/services/php/bin/phpize

./configure --with-php-config=/usr/local/services/php/bin/php-config

make

make install
mv /usr/local/services/php/lib/php/extensions/no-debug-non-zts-20090626/redis.so/usr/local/services/php/extensions
################# PHPmyAdmin
cd /data/temp

tar -zxvf phpMyAdmin-3.4.10.2-all-languages.tar.gz

mkdir /data/www/phpmyadmin/

cp -r phpMyAdmin-3.4.10.2-all-languages/*
/data/www/phpmyadmin/

cd /data/www/phpmyadmin/

cp config.sample.inc.php config.inc.php

vim config.inc.php

$cfg['blowfish_secret'] = '任意字符串';

$cfg['Servers'][$i]['auth_type'] = 'cookie';

$cfg['Servers'][$i]['host'] = '127.0.0.1';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: