создать собственный дистрибутив LAMP, например XAMPP - PullRequest
3 голосов
/ 05 марта 2010

Я хочу сделать автономный пакет программного обеспечения LAMP distro из источника, по крайней мере, со следующим:
* php должен иметь поддержку mysqli, ldap и GD
* все необходимые .so должныбыть включенным (как libpng, необходимый для GD) (самодостаточный)

Мне удалось сделать один, но я продолжаю исправлять его причуды, ТАК я думал начать с широко используемого, такого как XAMPP, но я не могунайти источник, который его создает (какой-то сценарий оболочки, в который записываются все параметры конфигурации, задействованные источники и т. д.).

Где я могу найти такой сценарий / информацию?

Мне это нужно, чтобы у моих пользователей была простая установка для моего программного обеспечения, они не являются администраторами LAMP.

Мне нужны параметры конфигурации пакетов XAMPP или аналогичные.

Ответы [ 3 ]

2 голосов
/ 20 апреля 2010

Вот параметры конфигурации, которые я использовал для создания собственного стека ламп.
Они извлекаются из пакетов оборотов CentOS.

# APACHE
cd httpd-2.2.14/
./configure \
--prefix=/opt/clamp \
--sysconfdir=/opt/clamp/etc \
--enable-auth-dbm \
--enable-cern-meta \
--enable-auth-digest \
--enable-charset-lite \
--enable-deflate \
--enable-expires \
--enable-cache \
--enable-disk-cache \
--enable-file-cache \
--enable-headers \
--enable-info \
--enable-mime-magic \
--enable-proxy \
--enable-proxy-ajp \
--enable-proxy-balancer \
--enable-proxy-connect \
--enable-proxy-ftp \
--enable-proxy-http \
--enable-rewrite \
--enable-so \
--enable-ssl
make
make install
cd ..

# MYSQL
cd mysql-5.1.44/
./configure \
--prefix=/opt/clamp \
--sysconfdir=/opt/clamp/etc \
--libexecdir=/opt/clamp/sbin \
--localstatedir=/opt/clamp/var \
--with-unix-socket-path=/opt/clamp/tmp/mysql.sock
make
make install
cd ..

# LIBS_DEP
yum install freetype
yum install freetype-devel
yum install libjpeg
yum install libjpeg-devel
yum install libpng
yum install libpng-devel
yum install libXpm
yum install libXpm-devel

# PHP
cd php-5.2.13/
./configure \
--prefix=/opt/clamp \
--sysconfdir=/opt/clamp/etc \
--with-apxs2=/opt/clamp/bin/apxs \
--with-config-file-path=/opt/clamp/etc/php.conf \
--disable-debug \
--with-pic \
--disable-rpath \
--without-pear \
--with-bz2 \
--with-curl \
--with-freetype-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--without-gdbm \
--with-gettext \
--with-gmp \
--with-iconv \
--with-jpeg-dir=/usr \
--with-openssl \
--with-pspell \
--with-zlib \
--with-layout=GNU \
--enable-exif \
--enable-ftp \
--enable-magic-quotes \
--enable-sockets \
--enable-sysvsem --enable-sysvshm --enable-sysvmsg \
--enable-wddx \
--with-kerberos \
--enable-ucd-snmp-hack \
--enable-shmop \
--enable-calendar \
--without-sqlite \
--enable-force-cgi-redirect \
--enable-pcntl \
--with-imap --with-imap-ssl \
--enable-mbstring \
--enable-mbregex \
--with-ncurses \
--with-gd \
--enable-bcmath \
--with-xmlrpc \
--with-ldap --with-ldap-sasl \
--with-mysql=/opt/clamp \
--with-mysqli=/opt/clamp/bin/mysql_config \
--enable-dom \
--with-pgsql \
--enable-soap \
--enable-xmlreader --enable-xmlwriter \
--enable-fastcgi 
make
make install

ln -s /opt/clamp/share/mysql/mysql.server /opt/clamp/bin/mysql.server
mkdir /opt/clamp/tmp
/bin/cp -f /root/clamp/use/etc/* /opt/clamp/etc
/bin/cp -f /root/clamp/use/run /opt/clamp
/bin/cp -f /root/clamp/use/install /opt/clamp

./bin/mysql_install_db --user=clamp \
--basedir=/opt/clamp \
--datadir=/opt/clamp/var

groupadd clamp
useradd -g clamp -s /bin/nologin -d /opt/clamp clamp
chown -R clamp.clamp /opt/clamp


# start first !!!!!!!!!

/opt/clamp/bin/mysqladmin -u root -P 3307 password 123clamp456
/opt/clamp/bin/mysqladmin -u root -p123clamp456 -P 3307 flush-privileges

/opt/clamp/bin/mysql -u root -p123clamp456 -P 3307 -e "CREATE USER 'clamp'@'%' IDENTIFIED BY '123clamp456'";
/opt/clamp/bin/mysql -u root -p123clamp456 -P 3307 -e "update mysql.user set password = PASSWORD('123clamp456') where user='clamp'";
/opt/clamp/bin/mysql -u root -p123clamp456 -P 3307 -e "GRANT ALL PRIVILEGES ON *.* TO 'clamp'@'localhost' IDENTIFIED BY '123clamp456'";
/opt/clamp/bin/mysql -u root -p123clamp456 -P 3307 -e "GRANT ALL PRIVILEGES ON *.* TO 'clamp'@'%' IDENTIFIED BY '123clamp456'";
/opt/clamp/bin/mysql -u root -p123clamp456 -P 3307 -e "flush privileges";
1 голос
/ 05 марта 2010

Вы хотите создать (и предположительно поддерживать и поддерживать) весь дистрибутив Linux ????? !!!!!

И вы ожидаете полного ответа здесь ???? !!!!!!!!!!!!!!!!!!!!

Никто не может дать правильный ответ на это - требуются годы, чтобы научиться делать все это, IIRC нетВ настоящее время доступны дистрибутивы Linux для одного человека.

Возможно, вы захотите взглянуть на Puppy Linux, который поставляется с большим количеством инструментов для создания пользовательских установок.

В качестве альтернативы, это может быть намного прощесоздайте эталонную реализацию, а затем распространите ее как образ виртуальной машины (я недавно начал играть с VirtualBox , который бесплатен, но есть еще несколько других - Bochs, VMWare ....).

Несмотря на то, что вы, кажется, путаете LAMP (что все от ОС) до XAMPP (который содержит только веб-сервер, db, PERL и PHP).

C.

1 голос
/ 05 марта 2010

Вы понимаете, что можете включить эти расширения внутри XAMPP, просто отредактировав файл php.ini?

Также вам следует использовать Imagick (он же ImageMagick) вместо GD, это значительно быстрее(около 3х) и более многофункциональный.Imagick заменяет GD.

Я не вижу причин для создания пользовательской установки, просто настройте ту, которая у вас есть.

...