Web-сервер на базе Linux CentOS 5.4 (виртуальная машина для VMware) - Представляю вашему вниманию виртуальную машину для VMware с установленной ОС Linux Centos 5.4 и настроенной связкой Apache + PHP + MySQL, которая после небольшой настройки в Windows будет являться практически полным аналогом внешнего web-сервера. Для web-разработчика она способна заменить Denwer и дргуие аналогичные сборки, устанавливающиеся непосредственно в Windows. Также подойдет начинающему Linux-администратору в качестве работащего учебного примера. CentOS является бесплатным аналогом самого распространеннго серверного Linux-дистрибутива Red Hat Enterprise Linux (RHEL). ПО, установленное на виртуальной машине: CentOS 5.4 i386 Apache 2.2.3 PHP 5.1.6 MySQL 5.0.77 Perl 5.8.8 Python 2.4.3 GCC 4.1.2 + панель управления Webmin + кое-что по мелочи - mc, wget, и т.д... Консоль руссифицирована. MySQL настроена для работы с кодировкой cp1251. Иксов нет. Все ПО обнонвлено по состоянию на 20.04.2010 (если кого-то смущают не самые свежие версии пакетов - просто в RHEL/CentOS используется версионизированная пакетная система, т.е. версии пакетов не меняются в течение цикла поддержки, в них только исправляются ошибки и добавляются патчи безопасности). Дополнительно подключен репозиторий epel. Selinux отключен, в iptables нет никаких правил. Полный список установленного ПО: apr-1.2.7-11.el5_3.1 apr-util-1.2.7-7.el5_3.2 aspell-0.60.3-7.1 aspell-en-6.0-2.1 aspell-ru-0.99f7-2.2.2 atk-1.12.2-1.fc6 audit-libs-1.7.13-2.el5 audit-libs-python-1.7.13-2.el5 authconfig-5.3.21-6.el5 autoconf-2.59-12 automake-1.9.6-2.1 basesystem-8.0-5.1.1.el5.centos bash-3.2-24.el5 binutils-2.17.50.0.6-12.el5 bitstream-vera-fonts-1.10-7 bzip2-1.0.3-4.el5_2 bzip2-libs-1.0.3-4.el5_2 cairo-1.2.4-5.el5 centos-release-5-4.el5.centos.1 centos-release-notes-5.4-4 checkpolicy-1.33.1-4.el5 chkconfig-1.3.30.1-2 chkfontpath-1.10.1-1.1 coreutils-5.97-23.el5_4.2 cpio-2.6-23.el5_4.1 cpp-4.1.2-46.el5_4.2 cracklib-2.8.9-3.3 cracklib-dicts-2.8.9-3.3 crontabs-1.10-8 cryptsetup-luks-1.0.3-5.el5 cups-libs-1.3.7-11.el5_4.6 curl-7.15.5-2.1.el5_3.5 cyrus-sasl-lib-2.1.22-5.el5_4.3 db4-4.3.29-10.el5 dbus-1.1.2-12.el5_4.1 dbus-glib-0.73-8.el5 dbus-libs-1.1.2-12.el5_4.1 Deployment_Guide-ru-RU-5.2-11.el5.centos desktop-file-utils-0.10-7 device-mapper-1.02.32-1.el5 device-mapper-event-1.02.32-1.el5 device-mapper-multipath-0.4.7-30.el5_4.4 dhclient-3.0.5-21.el5_4.1 dhcpv6-client-1.0.10-17.el5 diffutils-2.8.1-15.2.3.el5 dmidecode-2.10-2.el5_4 dmraid-1.0.0.rc13-53.el5 dmraid-events-1.0.0.rc13-53.el5 e2fsprogs-1.39-23.el5 e2fsprogs-libs-1.39-23.el5 ecryptfs-utils-75-5.el5 ed-0.2-39.el5_2 elfutils-libelf-0.137-3.el5 epel-release-5-3 ethtool-6-3.el5 exim-4.63-3.el5 expat-1.95.8-8.3.el5_4.2 file-4.17-15.el5_3.1 filesystem-2.4.0-2.el5.centos findutils-4.2.27-6.el5 fipscheck-1.2.0-1.el5 fipscheck-lib-1.2.0-1.el5 fontconfig-2.4.1-7.el5 fonts-KOI8-R-100dpi-1.0-9.1.1 fonts-KOI8-R-1.0-9.1.1 fonts-KOI8-R-75dpi-1.0-9.1.1 freetype-2.2.1-21.el5_3 gawk-3.1.5-14.el5 gcc-4.1.2-46.el5_4.2 gdbm-1.8.0-26.2.1 glib2-2.12.3-4.el5_3.1 glibc-2.5-42.el5_4.3 glibc-common-2.5-42.el5_4.3 glibc-devel-2.5-42.el5_4.3 glibc-headers-2.5-42.el5_4.3 gmp-4.1.4-10.el5 gnu-efi-3.0c-1.1 gnutls-1.4.1-3.el5_4.8 gpg-pubkey-217521f6-45e8a532 gpg-pubkey-e8562897-459f07a4 grep-2.5.1-55.el5 groff-1.18.1.1-11.1 grub-0.97-13.5 gtk2-2.10.4-20.el5 gzip-1.3.5-11.el5.centos.1 hal-0.5.8.1-52.el5 hdparm-6.6-2 hicolor-icon-theme-0.9-2.1 hmaccalc-0.9.6-1.el5 htmlview-4.0.0-2.el5 httpd-2.2.3-31.el5.centos.4 hwdata-0.213.16-1.el5 imake-1.0.2-3 info-4.8-14.el5 initscripts-8.45.30-2.el5.centos iproute-2.6.18-10.el5 iptables-1.3.5-5.3.el5_4.1 iptables-ipv6-1.3.5-5.3.el5_4.1 iputils-20020927-46.el5 kbd-1.12-21.el5 kernel-2.6.18-164.15.1.el5 kernel-headers-2.6.18-164.15.1.el5 keyutils-1.2-1.el5 keyutils-libs-1.2-1.el5 kpartx-0.4.7-30.el5_4.4 krb5-libs-1.6.1-36.el5_4.1 kudzu-1.2.57.1.21-1.el5.centos less-394-6.el5 libacl-2.2.39-3.el5 libattr-2.4.32-1.1 libcap-1.10-26 libfontenc-1.0.2-2.2.el5 libFS-1.0.0-3.1 libgcc-4.1.2-46.el5_4.2 libgcrypt-1.4.4-5.el5 libgomp-4.4.0-6.el5 libgpg-error-1.4-2 libhugetlbfs-1.3-3.el5 libidn-0.6.5-1.1 libjpeg-6b-37 libmcrypt-2.5.8-4.el5.centos libpng-1.2.10-7.1.el5_3.2 libselinux-1.33.4-5.5.el5 libselinux-python-1.33.4-5.5.el5 libselinux-utils-1.33.4-5.5.el5 libsemanage-1.9.1-4.4.el5 libsepol-1.15.2-2.el5 libstdc++-4.1.2-46.el5_4.2 libsysfs-2.0.0-6 libtermcap-2.0.8-46.1 libtiff-3.8.2-7.el5_3.4 libusb-0.1.12-5.1 libuser-0.54.7-2.1.el5_4.1 libvolume_id-095-14.21.el5 libX11-1.0.3-11.el5 libXau-1.0.1-3.1 libXcursor-1.1.7-1.1 libXdmcp-1.0.1-2.1 libXext-1.0.1-2.1 libXfixes-4.0.1-2.1 libXfont-1.2.2-1.0.3.el5_1 libXft-2.1.10-1.1 libXi-1.0.1-4.el5_4 libXinerama-1.0.1-2.1 libxml2-2.6.26-2.1.2.8 libXrandr-1.1.1-3.1 libXrender-0.9.1-3.1 libxslt-1.1.17-2.el5_2.2 logrotate-3.7.4-9 lsof-4.78-3 lvm2-2.02.46-8.el5_4.2 lynx-2.8.5-28.1.el5_2.1 m2crypto-0.16-6.el5.6 m4-1.4.5-3.el5.1 mailcap-2.1.23-1.fc6 MAKEDEV-3.23-1.2 man-1.6d-1.1 man-pages-ru-0.97-1.1.1 mc-4.6.1a-35.el5 mcstrans-0.2.11-3.el5 mhash-0.9.9-1.el5.centos mingetty-1.07-5.2.2 mkinitrd-5.1.19.6-54 mktemp-1.5-23.2.2 module-init-tools-3.3-0.pre3.1.54.el5 mysql-5.0.77-4.el5_4.2 mysql-server-5.0.77-4.el5_4.2 nash-5.1.19.6-54 ncurses-5.5-24.20060715 net-tools-1.60-78.el5 newt-0.52.2-12.el5_4.1 nspr-4.8.4-1.el5_4 nss-3.12.6-1.el5.centos ntsysv-1.3.30.1-2 openldap-2.3.43-3.el5 openssh-4.3p2-36.el5_4.4 openssh-clients-4.3p2-36.el5_4.4 openssh-server-4.3p2-36.el5_4.4 openssl-0.9.8e-12.el5_4.6 pam-0.99.6.2-6.el5_4.1 pango-1.14.9-8.el5.centos passwd-0.73-1 patch-2.5.4-29.2.3.el5 pciutils-2.2.3-7.el5 pcre-6.6-2.el5_1.7 perl-5.8.8-27.el5 perl-Authen-PAM-0.16-8.el5 perl-DBD-MySQL-3.0007-2.el5 perl-DBI-1.52-2.el5 perl-URI-1.35-3 php-5.1.6-24.el5_4.5 php-cli-5.1.6-24.el5_4.5 php-common-5.1.6-24.el5_4.5 php-devel-5.1.6-24.el5_4.5 php-gd-5.1.6-24.el5_4.5 php-mbstring-5.1.6-24.el5_4.5 php-mcrypt-5.1.6-15.el5.centos.1 php-mhash-5.1.6-15.el5.centos.1 phpMyAdmin-2.11.10-1.el5 php-mysql-5.1.6-24.el5_4.5 php-pdo-5.1.6-24.el5_4.5 php-pear-1.4.9-6.el5 php-pecl-json-1.2.1-4.el5 php-xml-5.1.6-24.el5_4.5 pm-utils-0.99.3-10.el5.centos policycoreutils-1.33.12-14.6.el5 popt-1.10.2.3-18.el5 postgresql-libs-8.1.18-2.el5_4.1 prelink-0.4.0-2.el5 procps-3.2.7-11.1.el5 proftpd-1.3.2d-1.el5 psmisc-22.2-7 python-2.4.3-27.el5 python-elementtree-1.2.6-5 python-iniparse-0.2.3-4.el5 python-sqlite-1.1.7-1.2.1 python-urlgrabber-3.1.0-5.el5 readline-5.1-3.el5 redhat-logos-4.9.99-11.el5.centos redhat-menus-6.7.8-3.el5 rhpl-0.194.1-1 rootfiles-8.1-1.1.1 rpm-4.4.2.3-18.el5 rpm-libs-4.4.2.3-18.el5 rpm-python-4.4.2.3-18.el5 sed-4.1.5-5.fc6 selinux-policy-2.4.6-255.el5_4.4 selinux-policy-targeted-2.4.6-255.el5_4.4 setools-3.0-3.el5 setserial-2.17-19.2.2 setup-2.5.58-7.el5 sgpio-1.2.0_10-2.el5 shadow-utils-4.0.17-14.el5 slang-2.0.6-4.el5 sqlite-3.3.6-5 sysfsutils-2.0.0-6 sysklogd-1.4.1-44.el5 system-config-securitylevel-tui-1.6.29.1-2.1.el5 SysVinit-2.86-15.el5 tar-1.15.1-23.0.1.el5_4.2 tcl-8.4.13-4.el5 tcp_wrappers-7.6-40.7.el5 tcsh-6.14-14.el5_4.3 telnet-0.17-39.el5 termcap-5.5-1.20060701.1 trousers-0.3.1-4.el5 ttmkfdir-3.0.9-23.el5 tzdata-2010e-1.el5 udev-095-14.21.el5 udftools-1.0.0b3-0.1.el5 usermode-1.88-3.el5.2 util-linux-2.13-0.52.el5_4.1 vim-minimal-7.0.109-6.el5 vixie-cron-4.1-77.el5_4.1 webmin-1.500-1 wget-1.11.4-2.el5_4.1 which-2.16-7 wireless-tools-28-2.el5 xorg-x11-filesystem-7.1-2.fc6 xorg-x11-fonts-cyrillic-7.1-2.1.el5 xorg-x11-font-utils-7.1-2 xorg-x11-xfs-1.0.2-4 yum-3.2.22-20.el5.centos yum-fastestmirror-1.1.16-14.el5.centos.1 yum-metadata-parser-1.1.2-3.el5.centos yum-priorities-1.1.16-14.el5.centos.1 zlib-1.2.3-3 + ZendOptimizer-3.3.3 Инструкция по установке: Данная инструкция одинаково верна для Windows XP и Windows Vista. Предполагается, что на нашем компютере уже установлена VMware Workstation 5.x и выше или VMware Server 1.0.x и выше. Распаковываем куда-нибудь архив с виртуальной машиной (файл centos.7z). Перед ее запуском необходимо обязательно произвести настройку VMware-сети. Запускаем VMware Workstation/Server, затем в меню Edit -> Virtual Network Settings... во вкладе Summary посмотрите, какой виртуальный адаптер соответствует NAT (у меня это VMnet8). Затем заходим во вкладку Host Virtual Network Mapping. Справа от VMnet8 жмем стрелочку ">" и выбираем пункт Subnet... В окошке IP-адреса необходимо установить 192.168.231.0. Наш виртуальный веб-сервер будет доступен по IP 192.168.231.4. Его доменное имя - linux.rf (обратите внимание - rf а не ru, используется несуществующий на данный момент TLD). Чтобы на локальном компьютере при вводе в браузер адрес http://linux.rf/ открывался с нашей виртуальной машины, необходимо прописать в файле C:WINDOWSsystem32driversetchosts строчку: Код: 192.168.231.4 linux.rf www.linux.rf ftp.linux.rf Теперь запускаем виртуальную машину и ждем 1-2 минуты пока загрузится Linux и появится надпись: Код: CentOS release 5.4 (Final) Kernel 2.6.18-128.4.1.el5 on an i686 login: На этом этапе пока можно не вводить пароль а просто свернуть (не закрыть) окно с виртуальной машиной и убедиться что она доступна из Windows. Выполняем "Пуск" -> "Все программы" -> "Стандартные" -> "Командная строка". В появившемся окне пишем: Код: ping 192.168.231.4 Смотрим, удачно ли прошел пинг. Если пакеты не передаются, значит сеть настроена неправильно. Если передаются, пишем: Код: ping linux.rf Если нет пинга, значит что-то неправильно прописали в hosts, или прописали не туда куда нужно. Если пинг есть - открываем любимый браузер в Windows и набираем в адресной строке адрес linux.rf . Должно появиться следующее: Код: Hello world! phpinfo phpMyAdmin Webmin Если появилось - ура, все работает! Теперь вернемся к нашей виртуальной машине. В системе есть 2 пользователя: root (пароль toor) и tim (пароль mit). Пароль к MySQL-серверу для root - lqsym. Зайдя под любым из них, можно также убедиться что пинг идет в обратную сторону: Код: ping -c4 192.168.231.1 и если с локальной машины есть доступ в интернет, то с виртуальной также должны пинговаться и внешние адреса, например: Код: ping -c4 mail.ru Если пинга нет, скорее всего виноваты какие-либо настройки безопасности Windows, файервол и т.д. Осталось обсудить вопрос, каким образом будет происходить обмен файлами между реальной и виртуальной машинами. В Windows открываем любимый FTP-клиент, вводим адрес ftp.linux.rf, логин - tim, пароль mit - и подключаемся к виртуальной машине по FTP, попадая в каталог /home/tim/. Путь к файлу index.php, результат которого мы видели в браузере, такой: /home/tim/www/linux.rf/index.php. FTP-доступ для root отключен. SSH доступ есть для root и tim, но в данном случае неактуален, т.к. наверное проще развернуть окно виртуальной машины и работать непосредственно там. Для корректного выключения системы (у меня shutdown через VMware просто "отключает питание") необходмо подать команду: Код: poweroff Доступ к виртуальной машине из глобальной сети Предполагается что на данном этапе мы справились с установкой и настройкой веб-сервера и даже залили туда какой-то свой проект. Теперь нам хочется показать его миру. Кроме того у нас есть доступ в интернет и "белый" IP. Способ #1. Проброс портов с помощью 3proxy (проверялось на Windows XP) 1) Открываем на локальном компьютере 80-й порт. В случае с брандмауэром Windows это делается так: "Пуск" -> "Панель управления" -> "Брандмауэер Windows". Переходим во вкладку "Исключения", нажимаем кнопку "Добавить порт...", указываем имя HTTP, номер порта 80, порт TCP и жмем ОК. Если у вас установлен другой файерволл - соответственно открываем этот порт через него. 2) Скачиваем 3proxy (aka 3APA3A proxy) (последняя стабильная версия). Создаем папку "C:Program Files3proxy" и распаковываем туда содержимое архива. В папке "C:Program Files3proxybin" создаем файл 3proxy.cfg и пишем в него: Код: log "C:Program Files3proxybin3proxy.log" auth none tcppm 80 192.168.231.4 80 3) Входим в командную строку Windows ("Пуск" -> "Выполнить" -> печатаем "cmd"), переходим в нужную нам директорию: > cd "C:Program Files3proxybin" и выполняем команду: > 3proxy --install После чего 3proxy запустится как служба и будет висеть на 80-м порту всех доступных сетевых интерфейсов, переправляя запросы на 80-й порт IP 192.168.231.4 нашей виртуальной машины. 4) Если что-то не заработало - смотрим лог-файл, вносим исправления. Затем: "Пуск" -> "Панель управления" -> "Администрирование" -> "Службы", находим службу 3proxy и перезапускаем ее. Если у нас статический внешний IP-адрес, то целесообразнее повесить 3proxy только на него а не на все подряд. Поэтому делаем так: Код: log "C:Program Files3proxybin3proxy.log" auth none tcppm -i90.100.110.120 80 192.168.231.4 80 Где 90.100.110.120 - это ваш статический IP-адрес. Если хотим пробросить больше портов (например 21 - это FTP, 22 - SSH, 10000 - Webmin и т.д.), то соответственно конфиг будет такой: Код: log "c:program files3proxybin3proxy.log" auth none tcppm -i90.100.110.120 80 192.168.231.4 80 tcppm -i90.100.110.120 21 192.168.231.4 21 tcppm -i90.100.110.120 22 192.168.231.4 22 tcppm -i90.100.110.120 10000 192.168.231.4 10000 Замечания. 1) Некоторые антивирусы могут сказать что 3proxy - это вирус, или подозрительное ПО, или еще как-то - игнорируем. Но для надежности конечно качаем только с официального сайта 3proxy.ru 2) Если у вас уже что-то висело на 80-м порту (например Apache под Windows или IIS), то 3proxy туда не повесится. Аналогично для остальных портов. 3) Прежде чем выпустить виртуальную машину в глобальную сеть - обязательно смените все пароли! [свернуть] Логины и пароли Логины и пароли shell & ssh: 1) логин root, пароль toor; 2) логин tim, пароль mit ftp: логин tim, пароль mit mysql: логин root, пароль lqsym webmin: логин root, пароль toor также есть пустая база данных db1, пользователь user1, пароль pass1. Удачного использования! Аналогичная виртуальная машина на базе FreeBSD 8.0 находится здесь. Тем кто уже ей пользовался - обратите внимание, их можно запускать одновременно - у них разные IP-адреса (192.168.231.4 и 192.168.231.8) и имена хостов (linux.rf и web.rf), но они находятся в одной подсети (192.168.231.0/24). Внимание!!! Если вы каким-то образом сделали виртуальную машину доступной из глобальной сети, ОБЯЗАТЕЛЬНО смените все пароли! Год выпуска: 2010 Платформа: i386 Совместимость с Vista: полная md5: 489226ace591e58da77e3cce79f66323 Язык интерфейса: английский + русский Таблэтка: Не требуется Размер: 182 Mb Скачать "Web-сервер на базе Linux CentOS 5.4 (виртуальная машина для VMware)": Letitbit Hitfile Turbobit Depositfiles
|