apache2安装与配置
- 格式:doc
- 大小:150.50 KB
- 文档页数:25
Apache+tomcat集群+session复制作者:吴钢奇时间:2010/09/23MSN:w7374520@目标:在服务器上搭建1个apache+4个tomcat应用,tomcat之间实现session复制。
Tomcat解析所有的网页,apache此刻的作用就是做代理。
参考了很多网上好文档,非常感谢前人无私奉献,谢谢!1、环境硬件:一个四核3.0CPU,4G内存,200GSATA硬盘系统:Redhat AS 5.3源码包下载:1、Httpd下载/apache//httpd/httpd-2.2.16.tar.gz2、Tomcat下载//tomcat/tomcat-7/v7.0.2-beta/bin/apache-tomcat-7.0.2.tar.gz3、mod_jk 下载地址:/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.30/tomcat-connectors-1.2.30-src.tar.gz2、安装apache[root@adman ~]# cd /usr/local/src/ #进入源码包下载目录,这个可以随便定[root@adman src]# tar zxvf httpd-2.2.16.tar.gz #解压缩[root@adman src]# cd httpd-2.2.16 #进入解压目录[root@adman httpd-2.2.16]# ./configure --prefix=/usr/local/apache2 \> --enable-cache \ #configure参数根据自己的需要添加> --enable-mem-cache \ —可以使用help获得相关参数> --with-mpm=prefork \> --enable-so \> --enable-rewrite \> --enable-ssl[root@adman httpd-2.2.16]# make #编译[root@adman httpd-2.2.16]# make install #安装[root@adman httpd-2.2.16]# cd /usr/local/apache2[root@adman apache2]# vim conf/httpd.conf52 # LoadModule foo_module modules/mod_foo.so53 LoadModule jk_module modules/mod_jk.so #添加jk模块,模块是编译jk1.2.30得到106 DocumentRoot "/usr/local/webapps" #修改文档主目录133 <Directory "/usr/local /webapps"> #修改文档主目录146 Options Indexes FollowSymLinks158 Order allow,deny159 Allow from all160161 </Directory>416 Include conf/mod_jk.conf #添加jk配置文件,在末尾直接添加如果apache日志出现: session cache no configuration 警告信息请添加下面两行。
https 配置细述配置https需要有认证证书,假设我们事先准备好的,假设我们准备好的认证名称为warelab.qa,那么步骤可以如下1.备份相关配置backup jboss config#cp –r /infowarelab/conf /infowarelab/conf.bakBackup apach config#cp /infowarelab/apache2/conf/httpd.conf /infowarelab/apache2/conf/ httpd.conf.bak#cp /infowarelab/apache2/conf/extra/httpd-vhosts.conf /infowarelab/apache2/conf/extra/httpd-vhosts.conf.bakBackup gc config#cp /infowarelab/conference/conf/iwlab.ini /infowarelab/conference/conf/iwlab.ini2.修改apach配置2.1.获取证书ssl证书文件server.crt , server.key 拷贝到/infowarelab/apache2/conf(ssl通过域名认证,所以如果在局域网被自己做一个证书,该证书在访问网络内要做相关域名解析的)2.2.要配置成https的,在apache的httpd-vhosts.conf中加入以下配置。
#vi extra/httpd-vhosts.conf.............RewriteEngine ONRewriteCond %{SERVER_PORT} !^443$RewriteCond %{REQUEST_URI} !^/help/(.*)$RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [R,L]RewriteRule ^/?(.*)$ https://%{SERVER_NAME} [R,L].........确保apach配置中包含 httpd-ssl.conf#vi httpd.conf..........Include conf/extra/httpd-ssl.conf.........确保httpd-ssl.conf中包含生成的key,查看ssl监听端口,默认443#vi extra/httpd-ssl.conf................SSLCertificateFile /infowarelab/apache2/conf/server.crtSSLCertificateKeyFile /infowarelab/apache2/conf/server.key..........3.修改jboss配置#cd /infowarelab/conf3.1. 在global-config10.properties中设置jboss的访问端口和访问协议;配置文件中需要确保远程调用的是使用jboss访问端口(默认8080端口)。
先说一下,我用的是现在最新版的UBuntu16.04LTS操作系统刚开始接触UBuntu,在网上看到很多安装教程但都是旧版,照着搭了一次出现各种问题都不成功,这次根据我前次失败,自己搭个WEB服务器,做这个教程一是为了给自己做个记录,二是分享给和我一样刚开始接触UBuntu的朋友。
1.安装Apache2,打开终端输入命令:sudo apt-get installapache2回车,输入Y回车如图所视:就这么简但apache2就装完了,输入:sudo /etc/init.d/apache2 restart,回车重启apache,这是为了启动apache打开浏览器,输入127.0.0.1或着localhost,如图所视出现apache2此页面说明您已经安装成功,服务器也已经正常启动。
2.安装php先说一点现在的php都是7.0,不要想php5了。
瞧这张图上已经告诉我们了,它找不到php5所以在这里终端输入:sudo apt-get install libapache2-mod-php7.0 php7.0回车,输入Y回车输入php -v查看一下php的版本,如图所视输入sudo /etc/init.d/apache2 restart回车,重启一下apache输入sudo gedit /var/www/html/test.php,回车,在apache的站根目录下新建一个.php的测试页在测试页里输入“<?php phpinfo(); ?>”如图所视在浏览器中输入php测试页所在地址:127.0.0.1/test.php,如果您看这个页面说明php已经安装成功。
3.安装mysql数据库在终端输入:sudo apt-get install mysql-server mysql-clisent,回车后您将看到如图画面,这还是一样Y回车这里是输入mysql数据库管理员root的登陆密码重复一次刚才您输入的mysql数据库管理员root的密码,确定输入mysql -V (大写V)查看mysql版本4.安装phpmyadminUBuntu自带安装版的phpmyadmin,但是当我安装完后出现异常情况,这里写出来是为了分享给大家,希望在您遇到和我一样问题时能有所帮助。
Apache 配置一、安装Apache下载地址:/1. 安装Apache# tar zxvf httpd-2.2.11.tar.gz# cd httpd-2.2.11# ./configure --prefix=/usr/local/apache --enable-so//编译时加上加载模块参数--enable-so# make# make install2. 配置系统启动时自动启动Apache服务。
# vi /etc/rc.d/rc.local//在rc.local上加入一行/usr/local/apache/bin/apachectl –k start。
二、配置Apache1. 修改httpd.conf文件# vi /usr/local/apache/conf/httpd.conf1)设置根目录的路径根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/u sr/local/apache”。
命令如下:2)设置监听IP地址及端口号默认侦听本机所有IP地址的TCP80端口,命令如下:Listen 80用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。
比如:Listen 192.168.99.9:80Linsten 172.16.0.20:80803)设置系统管理员E-m ail使用ServerAdmin参数设置管理员E-m ail,比如管理员的Email地址为root@guoxuemin. cn:4)设置服务器主机的名称参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:5)设置主目录的路径用户可以使用参数Document Root配置服务器主目录默认路径,比如,主目录路径为:6)设置默认文件Apache的默认文件名为index.ht ml,可以使用Directory Index参数来配置,比如,将ind ex.php设置为默认文件名:7)测试:打开浏览器,输入地址:http://192.168.99.9,可以打开站点了:2. 配置目录权限使用<Directory 目录路径>和</Directory>设置目录的权限。
Ubuntu linux 操作系统与实验教程(第2版)课后习题第一章习题一1、判断题(1)在一台主机上只能安装一个虚拟机。
(2)在一个虚拟机下只能安装一个操作系统。
(3)格式化虚拟机下的操作系统就是格式化主机的操作系统。
(4)虚拟机的安装有三种安装类型。
(5)VMware Workstation 15 默认分配的推荐虚拟机的存是1G。
(6)Ubuntu 有两种安装方式:即Ubuntu和安装Ubuntu。
(7)解压vmware-install.pl文件安装VM tools。
(8)VMtools安装完成后可以在主机和虚拟机之间任意拖动和复制文件。
2、简答题(1)请简述在虚拟机的安装过程中,四种网络类型的特点?(2)简述.vmdk 和.vmx 文件的不同点?(3)Ubuntu应该建立几个分区?每个分区的大小是多少?(4)虚拟机捕获屏幕有什么作用?3、实验题(1)安装VMware Workstation Pro 15。
(2)为安装ubuntukylin-16.04.06创建虚拟机。
(3)在虚拟机中安装ubuntukylin-16.04.06。
(4)在Ubuntu下安装VM tools。
(5)上述实验完成后创建快照,如果使用Ubuntu过程中出现问题,可以恢复快照。
(6)更改虚拟机的内存、添加硬盘。
第二章习题二1、判断题(1)Linux操作系统诞生于1991 年8月。
(2)Linux是一个开放源的操作系统。
(3)Linux是一个类unix操作系统。
(4)Linux是一个多用户系统,也是一个多任务操作系统。
(5)Ubuntu Linux 16.04默认的桌面环境是Gnome。
(6)Ubuntu每一年发布一个新版本。
(7)ubuntu Linux 16.04包含LibreOffice套件。
2、简答题(1)什么是Linux?(2)简述Linux系统的产生过程?(3)简述Linux系统的组成?(4)什么是Linux 内核版本?举例说明版本号的格式。
简易WWW服务器的架设随着互联网的迅速发展,搭建一个自己的简易WWW(World Wide Web)服务器已经成为了一个越来越受欢迎的选择。
本文将向您介绍如何搭建一个简易的WWW服务器,并帮助您完成这一过程。
一、准备工作在开始之前,您需要准备以下材料:1.一台运行Windows或Linux系统的计算机;2.稳定的网络连接;3.一个域名(可选)。
二、安装所需软件接下来,您需要安装两个必要的软件:操作系统和网络服务器软件。
1.操作系统根据您的需求,选择适合您的操作系统。
如果您选择Windows,可以使用Windows Server系统;如果您选择Linux,可以使用Ubuntu或CentOS等常见的发行版。
2.网络服务器软件最流行的网络服务器软件是Apache、Nginx和IIS(仅适用于Windows系统)。
在本教程中,我们将使用Apache作为服务器软件。
您可以在Apache官方网站上免费下载并安装最新版本的Apache软件。
三、配置服务器在安装完Apache之后,我们需要进行一些必要的配置。
1.确认服务器启动正常打开您的Web浏览器,并输入本地IP地址或localhost。
如果出现页面显示“It works!”或相似的字样,说明服务器已经成功启动。
2.配置文档根目录文档根目录是存放您网站文件的地方。
默认情况下,Apache的文档根目录为/var/www/html(Linux)或C:\Apache\htdocs(Windows)。
您可以根据需要进行修改。
3.添加虚拟主机(可选)如果您拥有一个域名,并且想要将其指向您的服务器,您可以配置虚拟主机。
通过配置虚拟主机,可以让多个域名在同一个服务器上共存。
要配置虚拟主机,请打开Apache的配置文件,并按照说明添加您的域名和相关信息。
四、发布网站内容当服务器配置完成之后,您可以开始发布您的网站内容了。
1.创建网站文件在文档根目录下,创建一个新的文件夹,并将您的网站文件放入其中。
贵州大学实验报告学院:计信学院专业:班级:(8)winpcap的安装与配置(9)snort规则的配置(10)测试snort的入侵检测相关功能实验内容(一) windows环境下snort的安装1、安装Apache_2.0.46(1)双击Apache_2.0.46-win32-x86-no_src.msi,安装在默认文件夹C:\apache 下。
安装程序会在该文件夹下自动产生一个子文件夹apache2。
(2)打开配置文件C:\apache\apache2\conf\httpd.conf,将其中的Listen 8080,更改为Listen 50080。
(这主要是为了避免冲突)。
(3)进入命令行运行方式(单击“开始”按钮,选择“运行”,在弹出窗口中输入“cmd”,回车),转入C:\apache\apache\bin子目录,输入下面命令:C:\apache\apache2\bin>apache –k install将apache设置为以windows中的服务方式运行。
2、安装PHP(1)解压缩php-4.3.2-Win32.zip至C:\php。
(2)复制C:\php下php4ts.dll 至%systemroot%\System32,php.ini-dist至%systemroot%\php.ini。
(3)添加gd图形支持库,在php.ini中添加extension=php_gd2.dll。
如果php.ini 有该句,将此句前面的“;”注释符去掉。
(4)添加Apache对PHP的支持。
在C:\apahce\apache2\conf\httpd.conf中添加: LoadModule php4_module “C:/php/sapi/php4apache2.dll”AddType application/x-httpd-php .php(5)进入命令行运行方式,输入下面命令:Net start apache2 (这将启动Apache Web服务)(6)在C:\apache\apche2\htdocs目录下新建test.php测试文件,test.php文件内容为<?phpinfo();?>使用http://127.0.0.1:50080/test.php,测试PHP是否成功安装,如成功安装,则在浏览器中出现如下图所示的网页3、安装snort安装snort-2_0_0.exe,snort的默认安装路径在C:\snort安装配置Mysql数据库(1)安装Mysql到默认文件夹C:\mysql,并在命令行方式下进入C:\mysql\bin,输入下面命令:C:\mysql\bin\mysqld ––install 这将使mysql在Windows中以服务方式运行。
Ubuntu apache2 + gerrit + h2 配置、简单git操作1.准备工作。
a.两台Ubuntu机器(一台也可)一台安装gerrit(10.1.1.1)另一台安装apache(10.1.1.2)b.下载gerrit/Apache安装包2.安装过程I.安装Apacheapt-get install apache2安装过程没什么特殊设置。
说明:apache2安装好以后默认的工作目录在/var/www/下。
配置目录在/etc/apache2下。
首先要激活代理模块ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enable/proxy.confln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enable/proxy.loadln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enable/proxy_http.load激活后可以重启一下Apache,查看是否可以启动成功启动apache2:/etc/init.d/apache2 start停止apache2:/etc/init.d/apache2 stop重启/etc/init.d/apache2 restartII 安装gerrit。
通过执行命令java -jar /home/xx/gerrit-2.2.1.war init -d /home/XXXX/gerrt_sites进行安装。
安装过程中会提示输入各种信息,包括数据库信息等,这些可以参考上面的链接。
大部分都可以使用默认配置,关键是在选请选择http方式,不要使用openid方式,选择http方式后可以配置apache进行认证,选择openid方式后认证需要外网链接,而且貌似有bug,在[url] /questions/3705656/openid-with-gerrit-not-working[/url]网站上有介绍。
WiKi网站的安装(64bit)1.安装Apache2下载Microsoft Visual C++ 2008 Redistributable Package (x64)并安装:/downloads/en/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7 548c1b6&displaylang=en附件:vcredist_x64(1).exe下载apache_2.2.17-x64-openssl-1.0.0d网址:/apache-http-server-2-2-17-x86-and-x64-windows-installers/安装过程中,输入服务器信息:下一步,选择自定义(Custom Setup)安装,修改安装路径为:D:\RUNTIME\Apache Software Foundation\Apache2.2\默认80端口,自动启动。
安装完成后,到“服务”检查是否已经启动,使用浏览器访问http://localhost/测试是否安装成功。
2.安装MySQL下载MySQL网址:/php-5-3-2-x64-64-bit-windows-binary/安装到D:\RUNTIME\MySQL\MySQL Server 5.1附件:mysql-essential-5.1.49-winx64.msi在提示输入用户名密码时,输入root的密码为:************默认3306端口启动。
根据提示,勾选将MySQL Client 的bin目录加到PATH环境变量中。
测试是否安装陈功:D:\RUNTIME\MySQL\MySQL Server 5.1\bin>mysql -uroot -p************如果登录成功,说明安装正确。
3.安装PHP下载PHP安装包网址:/php-5-3-5-x64-64-bit-windows-binary/附件:php-5.3.5-Win32-VC9-x64.zip解压缩放到D:\RUNTIME\php\php-5.3.5-Win32-VC9-x64手动安装PHP,修改apache的配置文件D:\RUNTIME\Apache Software Foundation\Apache2.2\conf\httpd.conf加入以下配置# For PHP 5 do something like this:LoadModule php5_module "D:/RUNTIME/php/php-5.3.5-Win32-VC9-x64/php5apache2_2.dll" AddType application/x-httpd-php .php# configure the path to php.iniPHPIniDir "D:/RUNTIME/php/php-5.3.5-Win32-VC9-x64"修改php.ini-production为php.in,支持MySQL,extension_dir = "D:/RUNTIME/php/php-5.3.5-Win32-VC9-x64/ext" (去掉前面的分号) extension=php_mysql.dll (去掉前面的分号)重启Apache。
实验二:认证服务Keystone的安装、配置实验目的本次实验的目的是为了让学生通过实际安装配置Keystone来加深对Keystone组件的理解。
(本次实验Keystone安装在controller上)实验内容配置认证服务配置apache服务创建服务实体和API端点创建一个domain,projects、users、roles验证操作创建OpenStack脚本实验步骤①、首先输入密码123456,登录进入虚拟机。
②、然后单击Terminal,进入命令行界面。
③、由于所有步骤与操作均需要在root权限下执行,所以需要切换到root用户下:su输入密码:1234561. 配置认证服务(CONTROLLER下)以root用户身份进入数据库(本环境中默认MYSQL数据库密码为123456):mysql -u root -p创建keystone数据库:CREATE DATABASE keystone;赋予keystone相关权限(替换KEYSTONE_DBPASS为你自己的密码,如123456):GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';退出数据库:quit生成一个20位随机值作为初始配置期间管理令牌并记录下来:openssl rand -hex 10例如:我们这里生成的值为34755335fed9c5827e34禁用keystone自动启动:echo "manual" > /etc/init/keystone.override安装软件包keystone apache2 libapache2-mod-wsgi:apt-get install keystone apache2 libapache2-mod-wsgi编辑/etc/keystone/keystone.conf:gedit /etc/keystone/keystone.conf在[DEFAULT]下面添加(替换ADMIN_TOKEN为之前生成的20位随机数,例如本例中生成的34755335fed9c5827e34),记得把注释的#去掉。
Apache2.2.10+php5.2.6+mysql6.0.2+zend3.3.0a在windows下的完全配置一、准备软件:apache_2.2.10-win32-x86-no_ssl.msi php5.2.6.zip mysql-6.0.2-alpha-win32.exe ZendOptimizer-3.3.0a-Windows-i386.exe二.安装安装好apache,得保证80端口没有被其他的程序占用,比如IIS。
解压php,解压出来就行了。
安装mysql,设好自己root的密码。
三.配置apache配置1.打开apache安装目录下的conf文件夹下的配置文件httpd.conf,找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so 那行,加载php的apache文件库。
我的php放在I:/myweb/php那里,所以在这里添加这一行代码。
LoadModule php5_module I:/myweb/php/php5apache2_2.dll2.把php文件类型作为配置文件,找到AddType application/x-compress .Z AddType application/x-gzip .gz .tgz 添加一行代码AddType application/x-httpd-php .php .html3.更改网页默认目录找到DocumentRoot 更改目录,还有后面那个Directory也得该,另外,注意得用“/”而不是“\".否则通过不了。
比喻我的默认文件夹是I盘的www文件夹,则该成DocumentRoot "I:/www" ::4. 添加默认主页,在DirectoryIndex 那里,加上index.php,改成DirectoryIndex index.php index.html 也可以添加更多的主页文件,顺序等级是从左到右,空格隔开。
2009-03-28 20:10PHP的运行环境:所需软件:apache_2.2.8-win32-x86-no_ssl.msi;php-5.2.5-Win32.zip;mysql-5.0.45-win32.zip(Windows ZIP/Setup.EXE);安装过程就不细说,关键是配置:第一步:MYSQL5.0.X的安装下载网址:第二步:Apache 2.2.X的安装下载网址:第三步:PHP5.2.X的安装下载网址:将php-5.2.5-Win32.zip解压至d:/server/php(这是本人安装PHP的目录,安装时可以根据自己的需要选择其它安装目录)这个目录下,over。
第四步:配置Apache、PHP安装PHP很简单,但是主要的挑战在于Apache和PHP的协作配置上,这是配置PHP运行环境整个过程的重点,也是难点。
为了后面说明的更容易,在此我先把本人配置PHP运行环境时各软件安装目录先说明一下:apache目录为:d:/server/apache,php目录为d:/server/php,mysql目录为d:/server/mysql,存放PHP文件的文档目录为:e:/www。
一、在php的安装目录里找到php.ini-dist (似乎这是一个习惯,其实我更喜欢用php.ini-recommended)重命名为 php.ini 并拷到 windows系统目录下(特殊情况:win2k系统目录为winnt) 如我的php.ini是拷到 c:/windows目录(严格的说,应该把php.ini剪切到c:/windows目录,因为系统中出现两个php.ini,难免有时会引起冲突,不过每次本人配置时都是用剪切,只是网上众多教程都说copy)。
再将php安装目录里的 php5ts.dll,libmysql.dll,libmcrypt.dll,libmhash.dll拷到系统目录系统目录如我的是c:/windows 里(也可以是c: /windows/system32,php.ini也可以放在c:/windows/system32里。
实验四Apache、PHP和MySQL的基本配置【实验目的】:1、掌握Apache的基本配置2、熟悉PHP和MySQL的安装和基本配置【实验要求】:在Windows XP或Windows Server 2003上安装Apache、PHP、MySQL软件,进行简单的配置。
【实验步骤】:一、Apache的安装。
(软件版本的差异不会影响到安装过程)1.Apache服务器开始安装时的界面。
点Next。
2.接受协议。
点Next。
3.点击Next。
4.Network Domain域用户添相应的域名,不使用域的任意添,这里我添localhostServer Name添服务器名,由于我装在本机,就添localhostAdministrator’s Email Address任意添一个符合格式的Email选择端口,默认是80,这和IIS冲突,如果使用80的话,请把IIS端口改掉,或停止IIS。
注意:电脑上运行的其他程序,是否有使用80端口的。
用netstat –anb看一下。
如果有,停止掉。
否则程序不能正常安装。
选择for All Users,on Port 80,as a Service—Recommended.点击Next.5.选择Typical(典型),点击Next.6.点击Change,可以改变安装目录。
改完后点击Next。
7.点击Install(安装)8.安装进行中,请等待…9.安装过程中会弹出一个黑屏窗口,不用理会。
10.安装完成。
11.安装成功,在屏幕右下角出现启动的红羽毛。
停止装态可以在这里启动或停止服务器。
也可以在开始菜单→所有程序→Apache HTTP Server 2.2→Control Apache Server→(restart,start,stop)这里控制服务器。
出现12的界面,说明域名没起作用。
不用管它。
当配置完Apache的配置文件后,最好在这里控制,因为,如果,配置不正确,会在这里显示错误详细信息。
【docker】Dockerfile笔记,alpine搭建php+apache2环境docker⽤alpine搭建php+apache2/nginx环境,制作镜像,Dockerfile记录⼀些⾃⼰踩过的坑⼀、简介1.1 Alpine简介Alpine Linux 是⼀个⾯向安全,轻量级的基于musl libc与busybox项⽬的Linux发⾏版不同于主流的基于gunc(glibc)的发⾏版本它简洁⼩巧,官⽅的docker镜像才5M,其余基于alpine的镜像也都是50M左右,⽽其它的docker镜像都是⼀百多M起步它具有较完整的⽣态环境,主流的linux应⽤都有其移植版本它有⾃⼰的包管理软件:apk值得注意的是,在 Alpine Linux 存储库上,只有每个包的最新版本可⽤。
旧的软件包版本被丢弃,⼀旦被丢弃,就不能再使⽤apk add来安装想⽤旧版本软件就需要安装旧版本的 alpine ,或根据本⽂后⾯的⽅法更改 /etc/apk/repositories1.2 Dockerfile⼆、alpine搭建php+apache2环境# 安装软件apk --no-cache --update \add apache2 php-apache2 openrc# 简单配置apache2,为了消除提⽰vi /etc/apache2/hpptd.conf# 找到servername/servername# 添加配置,退出ServerName localhost# web⽬录cd /var/www/localhost/htdocs# 初始化openrcopenrc# 启动apache2rc-service apache2 start这⾥踩的坑是,apache2 nginx这种,都需要openrc的⽀持,先要执⾏⼀下 openrc 初始化,不然运⾏ rc-service apache2 start,可能提⽰WARNING: nginx is already starting那么就是启动失败鄙⼈额外踩的坑是,为了复现问题装低版本的php,找了个alpine 3.7 的镜像,结果 rc-service apache2 start 还提⽰启动⽹络失败,这种⽹络问题似乎只有低版本才会出现networking failed to start暂时妥协(往后看,后续已经解决低版本alpine中这个问题),⽤新版本镜像,⽆此⽹络问题可以通过修改 /etc/apk/repositories ,来更改 apk 安装应⽤的版本注意,排坑:改了 /etc/apk/repositories ,⽤低版本,如果构建时不能访问,则可以尝试放弃 https 使⽤ http ,如 3.7 中默认的 repositories 是 http ,⽤ https 有可能⽆法访问别⽤ 3.7 版本,构建中可能出现ERROR: libressl2.6-libcrypto-2.6.5-r0: trying to overwrite etc/ssl/cert.pem owned by ca-certificates-bundle-20191127-r5.ERROR: libressl2.6-libcrypto-2.6.5-r0: trying to overwrite etc/ssl/f owned by libcrypto1.1-1.1.1l-r0.三、alpine php+apache2 DockerFile把在容器⾥的操作记录下来写进相应位置即可下⾯给出我制作的 alpine-php5-apache2 的 DockerFile因为我要复现问题,需要php5,最新能⽀持php5的版本是 alpine:3.8,但是在使⽤过程中也遇到⼀些问题,不过最后都解决了DockerFileFROM alpine:3.8LABEL maintainer="https:///yunmuq/p/15509873.html"LABEL description="alpine php5 apache2 base web server"EXPOSE 80COPY src/ /var/www/localhost/htdocs.pre/COPY start.sh /start.shRUN chmod 755 /start.sh \&& apk --no-cache --update add apache2 php5-apache2 openrc \&& rm -rf /var/www/localhost/htdocs \&& \cp -rf /var/www/localhost/htdocs.pre /var/www/localhost/htdocs \&& rm -rf /var/www/localhost/htdocs.pre \&& chmod -R 755 /var/www/localhost/htdocs \&& sed -i 222i\ServerName\ localhost:80 /etc/apache2/httpd.conf \&& openrc && touch /etc/network/interfaces /run/openrc/softlevel \&& echo -e "auto lo\niface lo inet loopback\nauto eth0\niface eth0 inet dhcp">/etc/network/interfacesCMD ["/start.sh"]先解释⼀下,start.sh 不更改权限,docker run ⽆法顺利运⾏;apk --no-cache --update ⽆缓存,减少镜像的⼤⼩;\cp -rf 反斜杠是直接使⽤cp命令,否则可能会使⽤ ~/.bashrc 中的-i别名/var/www/localhost/htdocs 权限要设置好,否则访问时 apache2 提⽰403:apache2 You don't have permission to accesssed -i 222i 在⽂件222⾏插⼊ ServerName localhost:80,sed中空格要转义openrc 和 touch 都是初始化 openrc最后⼀⾏是⽹络配置,这⾥解决了,必须配置才能启动,⽹上说的⽤httpd启动作者没成功过/etc/network/interfaces ⽂件并不是touch⼀下就好了,需要有配置,参考:auto loiface lo inet loopbackauto eth0iface eth0 inet dhcp采⽤dhcp,缺点是从 docker run 到web启动时间有点长。
课后习题-Ubuntu Linux 操作系统与实验教程(第2版)-微课-XXX-XXX2)Linux中的文件名不区分大小写。
3)Linux中的文件权限共有9个。
4)在Linux中,root用户具有最高权限。
5)Linux中的软链接和硬链接是完全相同的概念。
2、简答题1)什么是Linux文件系统?2)Linux中的文件权限包括哪些内容?3)如何修改文件的权限?4)什么是Linux中的软链接和硬链接?5)如何创建软链接和硬链接?3、实验题1)创建一个文件夹,设置文件夹的权限为777.2)创建一个文件,设置文件的权限为644.3)修改文件的权限为777.4)创建一个软链接和一个硬链接。
都可以存储在任意一个分区中。
3)在Linux系统中,用来管理文件系统的命令是。
4)在Linux系统中,用来查看文件系统使用情况的命令是。
5)在Linux系统中,用来挂载文件系统的命令是。
2、判断题1)在Linux系统中,可以使用mkfs命令来创建文件系统。
2)在Linux系统中,可以使用mount命令来挂载文件系统。
3)在Linux系统中,可以使用umount命令来卸载文件系统。
4)在Linux系统中,可以使用df命令来查看文件系统使用情况。
5)在Linux系统中,可以使用du命令来查看文件大小和占用空间。
3、简答题1)请简述文件系统的概念。
文件系统是操作系统中用来管理文件和目录的一种机制,它提供了一种组织和存储文件的方式,使得用户可以方便地访问和管理文件。
文件系统通常由文件和目录组成,它们被组织在一起形成了一个层次结构,用户可以通过路径名来访问它们。
2)请简述Linux系统中常用的文件系统类型。
Linux系统中常用的文件系统类型包括ext2、ext3、ext4、XFS、Btrfs等。
其中,ext2是最早的Linux文件系统,它支持最大2TB的文件系统和最大2GB的单个文件。
ext3是在ext2的基础上添加了日志功能,可以更好地保证文件系统的稳定性和安全性。
apache2服务器的搭建和配置步骤详解前⾔这篇⽂章主要给⼤家介绍了在linux下apache2服务器的搭建和配置的相关资料,具有⼀定的参考价值,下⾯来⼀起学习学习吧。
步骤如下⾸先当然是下载包包:myths@myths-X450LD:~$ sudo apt-get install apache2装完后就可以⽤了,在地址栏输⼊本地回送地址127.0.0.1或者localhost就可以进⼊到默认的界⾯了。
默认的界⾯当然就是apache2的说明界⾯了。
其实很多情况下并不需要在⽹上寻找帮助⽂档,⼏乎所有的软件都会⾃带使⽤说明,只是略长,我们⼀般都懒得看。
但是其实很多重要的东西就在这当中,⽐如apache2的默认界⾯⾥:Ubuntu Logo Apache2 Ubuntu Default PageIt works!This is the default welcome page used to test the correct operation of the Apache2 server after installation on Ubuntu systems. It is based on the equivalent page on Debian, from which the Ubuntu Apache packaging is derived. If you can read this page, it mea If you are a normal user of this web site and don't know what this page is about, this probably means that the site is currently unavailable due to maintenance. If the problem persists, please contact the site's administrator.Configuration OverviewUbuntu's Apache2 default configuration is different from the upstream default configuration, and split into several files optimized for interaction with Ubuntu tools. The configuration system is fully documented in /usr/share/doc/apache2/README.Debian.gz. Refe The configuration layout for an Apache2 web server installation on Ubuntu systems is as follows:/etc/apache2/|-- apache2.conf| `-- ports.conf|-- mods-enabled| |-- *.load| `-- *.conf|-- conf-enabled| `-- *.conf|-- sites-enabled| `-- *.confapache2.conf is the main configuration file. It puts the pieces together by including all remaining configuration files when starting up the web server.ports.conf is always included from the main configuration file. It is used to determine the listening ports for incoming connections, and this file can be customized anytime.Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ directories contain particular configuration snippets which manage modules, global configuration fragments, or virtual host configurations, respectively.They are activated by symlinking available configuration files from their respective *-available/ counterparts. These should be managed by using our helpers a2enmod, a2dismod, a2ensite, a2dissite, and a2enconf, a2disconf . See their respective man pages for The binary is called apache2\. Due to the use of environment variables, in the default configuration, apache2 needs to be started/stopped with /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not work with the default configuration. Document RootsBy default, Ubuntu does not allow access through the web browser to any file apart of those located in /var/www, public_html directories (when enabled) and /usr/share (for web applications). If your site is using a web document root located elsewhere (such as i The default Ubuntu document root is /var/www/html. You can make your own virtual hosts under /var/www. This is different to previous releases which provides better security out of the box.Reporting ProblemsPlease use the ubuntu-bug tool to report bugs in the Apache2 package with Ubuntu. However, check existing bug reports before reporting a new bug.Please report bugs specific to modules (such as PHP and others) to respective packages, not to the web server itself.Valid XHTML 1.0 Transitional仅仅从这个⽂件中,我们就可以⾄少得到以下的重要信息:当访问本机的时候,默认进⼊的页⾯是/var/www/html/index.html。
网络服务架构系列课程详解二:服务器的部署与配置1. 服务器的选择与准备在搭建网络服务架构之前,我们需要选择一台合适的服务器,并对其进行配置。
在选择服务器时,需要考虑以下几个方面:•硬件要求:根据项目的需求,选择适当的 CPU、内存和存储容量。
通常情况下,服务器的性能越高,承载能力就越强。
•操作系统:常见的服务器操作系统包括 Linux 和 Windows。
根据项目需求选择合适的操作系统版本。
•网络环境:服务器应该处于一个高速、稳定的网络环境中,以确保服务的响应速度和稳定性。
•安全性:服务器的安全性非常重要,建议加密数据传输,并定期更新服务器的防火墙和安全补丁。
一旦选择并准备好服务器,我们就可以开始配置它了。
2. 服务器配置步骤以下是服务器的配置步骤:步骤 1:登录服务器首先,需要通过SSH(Secure Shell)协议远程登录服务器。
使用以下命令登录:ssh username@server_ip其中,username是您的用户名,server_ip是服务器的 IP 地址。
步骤 2:更新操作系统登录服务器后,我们首先要更新操作系统。
对于 Linux 服务器,可以使用以下命令更新软件包:sudo apt updatesudo apt upgrade步骤 3:安装必要的软件根据项目需求,您可能需要安装一些必要的软件。
例如,配置 Web 服务器时需要安装 Apache 或 Nginx。
您可以使用以下命令安装 Apache:sudo apt install apache2步骤 4:配置服务器完成软件安装后,我们需要对服务器进行配置。
配置的内容将根据服务器的用途而有所不同。
配置网络设置根据您的网络环境,您可能需要配置服务器的网络设置。
例如,如果您的服务器需要使用静态 IP 地址,您可以编辑网络配置文件以指定 IP 地址、网关和 DNS 服务器。
在 Ubuntu 服务器上,您可以编辑/etc/netplan/00-installer-config.yaml文件来配置网络设置。
apache2 实用安装与配置1.Apache 的安装Apache 的安装无外乎两种方式: 源代码安装和DEB包安装。
这两种安装类型各有特色,DEB包安装不需要编译,而源代码安装则需要先配置编译再安装,DEB包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。
本文主要介绍DEB安装方式。
系统:GNU/Linux Debian/etchApache当前版本: 2.0.55-41.1 1. 安装:使用以下命令安装:tony@tonybox:~$sudo aptitude updatetony@tonybox:~$sudo aptitude install apache2 apache2-utils其中apache2-utils提供了我们在配置维护过程中非常有用的一些工具安装完成后,可以使用下面的命令启动Apache 服务:tony@tonybox:~$ sudo /etc/init.d/apache2 start停止Apache服务则是:tony@tonybox:~$ sudo /etc/init.d/apache2 stop也可以只接用kill 命令强制杀死apache2进程tony@tonybox:~$ sudo killall apache2如有需要, 可以通过rcconf来控制是否在系统启动是加载Apache 服务启动完成后打开浏览器, 使用URL http://localhost/ 来访问已经启动的Apache服务器, 服务器将会将会跳转到http://localhost/apache2-default/, 向浏览器返回一个Apache安装成功的页面.注: 这取决于/etc/apache2/sites-available/default 配置文件中, 是否取消了RedirectMatch ^/$ /apache2-default/行的注释1.22. 配置文件说明在Debian下, 安装完成后, 软件包为我们提供的配置文件位于/etc/apache2目录下:tony@tonybox:/etc/apache2$ ls -ltotal 72-rw-r--r-- 1 root root 12482 2006-01-16 18:15 apache2.confdrwxr-xr-x 2 root root 4096 2006-06-30 13:56 conf.d-rw-r--r-- 1 root root 748 2006-01-16 18:05 envvars-rw-r--r-- 1 root root 268 2006-06-30 13:56 httpd.conf-rw-r--r-- 1 root root 12441 2006-01-16 18:15 magicdrwxr-xr-x 2 root root 4096 2006-06-30 13:56 mods-availabledrwxr-xr-x 2 root root 4096 2006-06-30 13:56 mods-enabled-rw-r--r-- 1 root root 10 2006-06-30 13:56 ports.conf-rw-r--r-- 1 root root 2266 2006-01-16 18:15 READMEdrwxr-xr-x 2 root root 4096 2006-06-30 13:56 sites-availabledrwxr-xr-x 2 root root 4096 2006-06-30 13:56 sites-enableddrwxr-xr-x 2 root root 4096 2006-01-16 18:15 ssl其中apache2.conf为apache2服务器的主配置文件, 查看此配置文件, 你会发现以下内容# Include module configuration:Include /etc/apache2/mods-enabled/*.loadInclude /etc/apache2/mods-enabled/*.conf# Include all the user configurations:Include /etc/apache2/httpd.conf# Include ports listingInclude /etc/apache2/ports.conf# Include generic snippets of statementsInclude /etc/apache2/conf.d/[^.#]*有此可见, apache2 根据配置功能的不同, 对配置文件进行了分割, 这样更利于管理conf.d下为配置文件的附加片断,默认情况下, 仅提供了charset 片断,tony@tonybox:/etc/apache2/conf.d$ cat charsetAddDefaultCharset UTF-8如有需要我们可以将默认编码修改为GB2312, 即文件的内容为: AddDefaultCharset GB2312httpd.conf是个空文件magic文件中包含的是有关mod_mime_magic模块的数据, 一般不需要修改它.ports.conf则为服务器监听IP和端口设置的配置文件,tony@tonybox:/etc/apache2$ cat ports.confListen 80mods-available目录下是一些.conf和.load 文件, 为系统中可以使用的加载各种模块的配置文件, 而mods-enabled目录下则是指向这些配置文件的符号连接, 从配置文件apache2.conf 中可以看出, 系统通过mods-enabled目录来加载模块, 也就是说, 系统仅通过在此目录下创建了符号连接的mods-available 目录下的配置文件来加载模块。
同时系统还提供了两个命令a2enmod 和a2dismod用于维护这些符号连接。
这两个命令由apache2-common 包提供。
命令各式也非常简单:a2enmod [module]或a2dismod [module]sites-available目录下为配置好的站点的配置文件, sites-enabled目录下则是指向这些配置文件的符号连接, 系统通过这些符号连接来起用站点sites-enabled目录下的符号连接附有一个数字前缀, 如000-default, 这个数字用于决定启动顺序, 数字越小, 启动优先级越高. 系统提供了两个命令a2ensite 和a2dissite 用于维护这些符号连接。
这两个命令由apache2-common 包提供./var/www默认情况下将要发布的网页文件应该置于/var/www目录下,这一默认值可以同过主配置文件中的DocumnetRoot选项修改.5. 配置指令:5.1 apache2.conf中:1. ServerRoot directory-pathServerRoot指令设置了服务器所在的目录。
一般来说它将包含conf/和logs/子目录。
使用DEB包安装的系统, 此项的默认值为"/etc/apache2" 也就是说仅仅包括apache2的配置文件.必须注意, 该目录是受保护的, 不允许非root用户对其进行修改.2. LockFile filename指定httpd配置文件守护进程的加锁文件。
由于httpd会经常进行并发的文件操作,就需要使用加锁的方式来保证文件操作不冲突,由于NFS(网络文件系统)在文件加锁方面能力有限,因此这个目录应该是本地磁盘文件系统,而不应该使用网络上的文件系统。
一般不需要设置这个参数,Apache服务器将自动在ServerRoot下面的路径中进行操作。
但如果ServerRoot为NFS文件系统,便需要使用这个参数指定本地文件系统中的路径。
3. PidFile filename指定记录httpd配置文件守护进程的进程号的文件。
由于httpd配置文件能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程。
对这个进程发送信号将影响所有的httpd进程。
PidFile定义的文件中就记录httpd父进程的进程号。
示例: PidFile /var/run/apache.pid4. Timeout seconds设置连接请求的最大延时,超过这个设置,即自动断开。
5. KeepAlive on|off提供了长效的HTTP会话,用以在同一个TCP连接中进行多次请求。
在某些情况下,这样的方式会对包含大量图片的HTML文档造成的延时起到50%的加速作用。
在Apache1.2版本以后,您可以设置KeepAlive On 以启用持久链接。
6. MaxKeepAliveRequests number指令限制了当启用KeepAlive时,每个连接允许的请求数量。
如果将此值设为"0",将不限制请求的数目。
我们建议最好将此值设为一个比较大的值,以确保最优的服务器性能。
默认为1007. KeepAliveTimeout number设置第一连接后,下次发送请求的最大时间间隔,超过这个设定的时间,而没有下次传输请求,则断开连接。
这个时间间隔不能设置太长,否则很很可能给服务器的整个连接性能造成影响,当然也不宜太短,否则用户端会经常出现连接中断现象。
8. < IfModule [ ! ] module-file | module-identifier > ... < / IfModule>封装指令并根据指定的模块是否启用为条件而决定是否进行处理< IfModule test > ... < / IfModule > 配置段用于封装根据指定的模块是否启用而决定是否生效的指令。
在< IfModule > 配置段中的指令仅当test为真的时候才进行处理。
如果test为假,所有其间的指令都将被忽略。
9. StartServers number设置服务器启动时所建立的子进程数。
10. MaxClients number设置服务器所允许运行的最多子进程数,当服务器所连接的进程数超过所设定的值时,任何客户都不能与服务器连接,只有等待。
当有子进程断开连接后服务器才提供相应服务。
11. MaxRequestsPerChild number设置单个子进程可以允许的最多请求数,当超过这个设定的值,子进程将被取消。
0意味着无限, 即子进程用不消毁12. User / Group user-name / group-name服务器以root身份启动后, 改变为设置的用户/组身份进行运行, 以增强安全性.13. LogFormat format|nickname [ nickname ]本指令定义访问日志的记录格式。