search
HomeBackend DevelopmentPHP TutorialOpenbsd3.6+APACHE+MYSQL+PHP+mod_limitipconn_PHP

ApacheOpenBSD

作者:llzqq [文章出自: http://www.cnfug.org]




Openbsd 3.6 + APACHE + MYSQL + PHP + mod_limitipconn


llzqq




欢迎大家转贴这个文章,但要保留下面的版权信息:




本文旨在用OPENBSD自己提供的安装包来搭建服务器环境,当然你也可以下载原代码包编译安装,但这样OPENBSD的安全就不容易保证了。因为各个包之间有依赖性关系所以下面列出了本文中用到的所有安装包大家把下面的所有包复制到一个目录中安装就很顺利了:




freetype-1.3.1p1.tgz

jpeg-6b.tgz

php4-core-4.3.8.tgz

php4-gd-4.3.8-no_x11.tg

png-1.2.5p5.tgz

recode-3.6p1.tgz

t1lib-5.0.0.tgz

tiff-3.6.1p1.tgz

mysql-client-4.0.20.tgz

mysql-server-4.0.20.tgz

p5-DBD-mysql-2.9004.tgz

p5-DBI-1.43.tgz

p5-Net-Daemon-0.38.tgz

p5-PlRPC-0.2018.tgz

p5-PlRPC-0.2018.tgz.1

mod_limitipconn-0.04.tar.gz




下载地址:

http://ftp.it.net.au/OpenBSD/3.6/packages/i386/

http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz




配置APACHE服务器



因为APACHE是系统默认安装的,这里就省去了安装过程

下面配置APACHE以便可以开机运行




# vi /etc/rc.conf

改:

httpd_flags=NO

为:

httpd_flags=""



对apache做一初步设置



# vi /var/www/conf/httpd.conf




ServerAdmin llzqq@126.com

ServerName nero.3322.org

ServerTokens Prod

ServerSignature EMail







安装mysql-server-4.0.20



# pkg_add mysql-server-4.0.20.tgz
# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf


如果不想让其他机器连接MYSQL,可以通过下面的操作实现:

# vi /etc/my.cnf
bind-address = 127.0.0.1


启动MYSQL-SERVER服务器:

# /usr/local/bin/mysqld_safe &

设置ROOT的MYSQL密码:

# /usr/local/bin/mysqladmin -u root password your_password

为了方便启动和关闭MYSQL服务建立了下面的脚本:

# vi /etc/rc.d/mysqld.sh
========================================================
#!/usr/local/bin/bash
# made by llzqq
# 02/08/ 2004
# mysql startup scripts


case "$1" in



start)

if [ -x /usr/local/bin/mysqld_safe ]; then

/usr/local/bin/mysqld_safe &

fi

;;




stop)

pkill mysqld &

rm -f /var/run/mysql/mysql.sock &




;;

*)

echo "$0 start | stop"

;;

esac




exit 0

========================================================




# chmod 555 /etc/rc.d/mysqld.sh





设置开机启动MYSQL


# vi /etc/rc.local




if [ -f /etc/my.cnf ]; then

. /etc/rc.d/mysqld.sh start

fi






安装配置PHP-4.3.8




# pkg_add php4-gd-4.3.8-no_x11.tgz



运行下面的命令使其生效



# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini

# /usr/local/sbin/phpxs -s

# /usr/local/sbin/phpxs -a gd




由于OPENBSD上面的APACHE采用了CHROOT机制,要保证PHP正常工作就要建下面的目录作为PHP的工作目录:




# mkdir /var/www/tmp
# chmod 1777 /var/www/tmp



# pkg_add php4-mysql-4.3.8.tgz

运行下面的命令使其生效

# /usr/local/sbin/phpxs -a mysql



# pkg_add php4-ncurses-4.3.8.tgz

运行下面的命令使其生效

# /usr/local/sbin/phpxs -a ncurses



# pkg_add php4-imap-4.3.8.tgz

运行下面的命令使其生效

# /usr/local/sbin/phpxs -a imap



# vi /var/www/conf/httpd.conf


DirectoryIndex index.html index.php

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps




# vi /var/www/conf/php.ini




doc_root= "/htdocs"

register_globals = On





建立测试php页面


# vi /var/www/htdocs/test.php






测试一下:


# pkill httpd

# /usr/sbin/httpd




在浏览器中输入http://IP/test.php实验一下








安装mod_limitipconn模块来限制单IP的并发连接数




# tar xzf mod_limitipconn-0.04.tar.gz
# cd mod_limitipconn-0.04
# vi Makefile

APXS = /usr/sbin/apxs


# make

# make install






# vi /var/www/conf/httpd.conf








MaxConnPerIP 3









Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

Simple Guide: Sending Email with PHP ScriptSimple Guide: Sending Email with PHP ScriptMay 12, 2025 am 12:02 AM

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP Performance: Identifying and Fixing BottlenecksPHP Performance: Identifying and Fixing BottlenecksMay 11, 2025 am 12:13 AM

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

Dependency Injection for PHP: a quick summaryDependency Injection for PHP: a quick summaryMay 11, 2025 am 12:09 AM

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

Increase PHP Performance: Caching Strategies & TechniquesIncrease PHP Performance: Caching Strategies & TechniquesMay 11, 2025 am 12:08 AM

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.