<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6837873869959829636</id><updated>2024-09-08T11:13:07.051-07:00</updated><category term="Dell"/><category term="INTEL"/><category term="IBM"/><category term="HP"/><category term="Tech"/><category term="RamSan"/><title type='text'>Computer Professional</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-7648603270255013593</id><published>2011-10-06T04:22:00.000-07:00</published><updated>2011-10-06T04:22:16.965-07:00</updated><title type='text'>Life: Miss You ..DAD</title><content type='html'>&lt;a href=&quot;http://conditionedlife.blogspot.com/2011/10/miss-you-dad.html?spref=bl&quot;&gt;Life: Miss You ..DAD&lt;/a&gt;: I miss the moment when you were there  I miss the moment the way you care   I miss the moment You holded my hand when i fall  I miss the mo...</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/7648603270255013593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2011/10/life-miss-you-dad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/7648603270255013593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/7648603270255013593'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2011/10/life-miss-you-dad.html' title='Life: Miss You ..DAD'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-6537488822959019964</id><published>2009-12-12T11:08:00.000-08:00</published><updated>2009-12-12T11:18:33.534-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dell"/><title type='text'>Dell/EMC CX4-240</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Qq7U74qxbuBhzqo2YdAumrhHyEu9AlgMgxEZ2iynHoWVWbSxG84-EwDmGYlVwowHQqgzfRLJ6Fvmz6SD_jPcruYggMyP932dAQgAibcso9Na1EIgG3RTBSdZxRGk89oP390huRrwiQ/s1600-h/1.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 235px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Qq7U74qxbuBhzqo2YdAumrhHyEu9AlgMgxEZ2iynHoWVWbSxG84-EwDmGYlVwowHQqgzfRLJ6Fvmz6SD_jPcruYggMyP932dAQgAibcso9Na1EIgG3RTBSdZxRGk89oP390huRrwiQ/s320/1.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414429863829439522&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;High performance storage with connectivity flexibility &lt;br /&gt;&lt;br /&gt;The CX4-240 offers remarkable flexibility and investment protection and increased connectivity options and capacity over the CX4-120. It is ideal for heavy transaction processing such as high speed large block data transfers, backup-to-disk, audio/video streaming, replication and departmental applications.&lt;br /&gt;&lt;br /&gt;* Supports up to 240 Hard Drives&lt;br /&gt;* Stores up to 234TB of data&lt;br /&gt;* Customized connectivity with up to 512 hosts in a SAN and 8 I/O slots&lt;br /&gt;* All of these connectivity options are available on the same array:&lt;br /&gt;  8Gbit Fibre Channel (FC),&lt;br /&gt;  4Gbit FC,&lt;br /&gt;  10Gbit iSCSI, and&lt;br /&gt;  1Gbit iSCSI&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju8BIybQXq8lttbyXmNEvg4UEMABMUStadnn6FZOlbBiTxvmmbsW5VJGcj4YR2K65GQUP5PxLda-1hgZX0FXl0n1NDFhH4LN_6TmuJ90gp9YrluUzjfwOYhKK0lZqIyI_pd6BGpFdw4Q/s1600-h/2.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 301px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju8BIybQXq8lttbyXmNEvg4UEMABMUStadnn6FZOlbBiTxvmmbsW5VJGcj4YR2K65GQUP5PxLda-1hgZX0FXl0n1NDFhH4LN_6TmuJ90gp9YrluUzjfwOYhKK0lZqIyI_pd6BGpFdw4Q/s320/2.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414430102905068146&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;UltraFlexTM modular I/O technology enables you to easily add more ports to your array, either Fibre Channel (FC) or iSCSI, as your needs change. You can also easily add future network technologies, such as FCoE once it is available, giving you remarkable flexibility and investment protection. The innovations built into the new Dell/EMC CX4 arrays extend beyond just flexible I/O to include virtual provisioning, support for enterprise flash drives (EFD), enhanced tiering options, features, such as drive spin down and variable speed fans, that enable greener storage by helping to reduce power consumption, and design improvements for performance and availability. In addition, management and reporting features on the CX4 have been enhanced to help you reduce time and effort required for managing your storage in virtualized server environments.&lt;br /&gt;Virtual provisioning&lt;br /&gt;&lt;br /&gt;Employ virtual provisioning to help reduce acquisition and operational costs while helping to improve capacity utilization. This can result in fewer drives and can help reduce hardware costs, management time, and power consumption.&lt;br /&gt;     Innovation&lt;br /&gt;Cost effective scalability  &lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtW2VyEzI6Rm3fy2XJ7bDxXsjZWYlICr5pQtw7XBPqqK5pVI8QbXsJY7cpKDJVAuQhVxTI0uBSiuRVjNymFRMpVF8ghj1v_9EpPDgh4BOXCnBys7F8wLKIovPVjkj72_Nd3IhwkiX77w/s1600-h/3.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 296px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtW2VyEzI6Rm3fy2XJ7bDxXsjZWYlICr5pQtw7XBPqqK5pVI8QbXsJY7cpKDJVAuQhVxTI0uBSiuRVjNymFRMpVF8ghj1v_9EpPDgh4BOXCnBys7F8wLKIovPVjkj72_Nd3IhwkiX77w/s320/3.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414430423979333298&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Cost effective scalability&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The CX4-240 array can scale from 5 to 240 drives, connect to as many as 512 highly available hosts in a SAN and store up to 234TB of data, and the extensive support matrix makes it easy to add storage in heterogeneous environments. The CX4 helps ease growing pains allowing you to easily add more capacity, whether it is 10K or 15K FC, 7.2K or 5.4K (energy efficient) SATA or flash drives, as your storage needs change. UltraFlex technology enables you to increase the ports on your array through up to 8 hot-pluggable I/O modules. In addition, the new enterprise flash drives (EFD) option adds a new level of performance for critical applications where 1 EFD can equal up to the performance of 30 Fibre Channel drives. Plus, if you outgrow your CX4-240, data-in-place upgrades are available to move up to an array with higher capacity and performance within the CX4 family.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Green storage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Innovations built into the new CX4 arrays help to reduce power consumption and cooling requirements.&lt;br /&gt;&lt;br /&gt;  * The new energy efficient 5,400 RPM SATA drives typically consume up to 32% less power1 than a standard 7,200 RPM SATA drive letting you select drives that use less power and help meet your access requirements.The addition of these and other drives creates new tiering options enabling you to use more efficient design in managing how and where your data is stored which offers the potential to reduce power and cooling needs.&lt;br /&gt;  * EFD drives, thanks to their higher performance characteristics, can often replace the need for large numbers of spinning drives.&lt;br /&gt;  * Drive spin down comes standard on the CX4, and enables you to easily set policies for your SATA drives in the array to power them down when not in use, helping to reduce power consumption and cooling requirements.&lt;br /&gt;  * Virtual provisioning is designed to reduce the total number of drives needed, and thus help reduce the power and cooling required for your storage solution.&lt;br /&gt;  * The CX4 includes adaptive fan technology where fans spin only at the speed that is needed to keep it cool, potentially further reducing power requirements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Systems and data management&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2gKTGl8sJgHjub2LUAayRotiTBN_Iz9CQTOHgej8h_9wM3TkcAgvRLEopiTruWmU0QR_KGcdNoE26Xp9uIhfliiK1la1J24IeH1zm2VlkQogXSk87iWeqqetzb_W2ZCwmb4Fdsa9iwg/s1600-h/4.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 311px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2gKTGl8sJgHjub2LUAayRotiTBN_Iz9CQTOHgej8h_9wM3TkcAgvRLEopiTruWmU0QR_KGcdNoE26Xp9uIhfliiK1la1J24IeH1zm2VlkQogXSk87iWeqqetzb_W2ZCwmb4Fdsa9iwg/s320/4.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414430921255376690&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The same applications that provide advanced data protection, data path management, optimization, replication and migration that were available on previous CX series arrays are also supported on the CX4 arrays. These include SnapViewTM , MirrorViewTM , SAN CopyTM , Replication ManagerTM , PowerPathTM , Navisphere® Analyzer and Navisphere Quality of Service ManagerTM . The array is managed using the powerful and intuitive management interface, Navisphere Manager, which has formed the core of CX array management since its inception.&lt;br /&gt;Seamless integration&lt;br /&gt;&lt;br /&gt;With Dell/EMC storage arrays, you can easily deploy, expand, and re-deploy storage. Migrating data seamlessly between different classes of drives and RAID types can help in delivering the optimal combination of performance and availability for your unique needs. And with Virtual LUN technology, data migration takes place dynamically and effortlessly, helping avoid disruption in your environment. Dell/EMC storage arrays support the EMC data replication and migration applications, MirrorviewTM and SAN CopyTM . These optional tools let you remotely mirror data from one array to another to help meet disaster recovery goals or to simply move data across arrays.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;iSCSI Support&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5_UTiJyKeGOXS-Cea8P5Itl6Ps9hfCWN021I2xDEhVjUSJ3r-TjPqZDTp_SRnn5rj9Bb0_mH6PC4QgODc3vLT-b4BN5oPDJ7QoIDc35QJ3SZ7c4g1vPBh4jZnoeN54L8p22medduww/s1600-h/5.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 298px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5_UTiJyKeGOXS-Cea8P5Itl6Ps9hfCWN021I2xDEhVjUSJ3r-TjPqZDTp_SRnn5rj9Bb0_mH6PC4QgODc3vLT-b4BN5oPDJ7QoIDc35QJ3SZ7c4g1vPBh4jZnoeN54L8p22medduww/s320/5.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414431125645691842&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;iSCSI using traditional 1Gbit IP connections to connect the Dell/EMC CX4 storage array to server hosts is an ideal choice for a remote server environment or limited budgets. The greater bandwidth of 10Gbit iSCSI will be beneficial to customers who are building out new storage infrastructure or who want to consolidate numerous 1Gbit iSCSI hosts to a single 10Gbit connection. With CX4 arrays, you have the flexibility to choose either iSCSI or Fibre Channel connections and how many iSCSI and FC ports you may want now or later.&lt;br /&gt;Solutions&lt;br /&gt;&lt;br /&gt;Dell/EMC storage arrays are integrated into Dell’s Microsoft® Exchange® , Microsoft SQL Server® , and Oracle® solutions, which offer tested and validated reference architectures to help solve your messaging and database challenges.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/6537488822959019964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/dellemc-cx4-240.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/6537488822959019964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/6537488822959019964'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/dellemc-cx4-240.html' title='Dell/EMC CX4-240'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Qq7U74qxbuBhzqo2YdAumrhHyEu9AlgMgxEZ2iynHoWVWbSxG84-EwDmGYlVwowHQqgzfRLJ6Fvmz6SD_jPcruYggMyP932dAQgAibcso9Na1EIgG3RTBSdZxRGk89oP390huRrwiQ/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-2185739862824385417</id><published>2009-12-12T11:05:00.000-08:00</published><updated>2009-12-12T11:25:03.041-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dell"/><title type='text'>Dell/EMC CX4-120 SAN Storage</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9NGf-HKcvf3Nnyh4wYkSWmUY-KP3jGVxxILFolPrcweTVuSb-qkZlY6al7hOn6jhyphenhyphen-iUCTnQYNHoX_DVUJVUXK05fQkcauFNyUUMjIvZuhhnwNbLJzGgRPxP8hDTaq8RHbMzT3MrJw/s1600-h/1.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 235px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9NGf-HKcvf3Nnyh4wYkSWmUY-KP3jGVxxILFolPrcweTVuSb-qkZlY6al7hOn6jhyphenhyphen-iUCTnQYNHoX_DVUJVUXK05fQkcauFNyUUMjIvZuhhnwNbLJzGgRPxP8hDTaq8RHbMzT3MrJw/s320/1.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414431621425898130&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Scalable multi-protocol storage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The CX4-120 is an ideal product for customers who require increased capacity and modularity in a small, but scalable footprint with outstanding data protection and high availability in the mid-range storage market.&lt;br /&gt;&lt;br /&gt;* Supports up to 120 Hard Drives&lt;br /&gt;* Stores up to 120TB of data&lt;br /&gt;* Customized connectivity with up to 256 hosts in a SAN and 6 I/O slots&lt;br /&gt;* All of these connectivity options are available on the same array:&lt;br /&gt;  8Gbit Fibre Channel (FC),&lt;br /&gt;  4Gbit FC,&lt;br /&gt;  10Gbit iSCSI, and&lt;br /&gt;  1Gbit iSCSI&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ2KW65nNcRbbpUcn398jU_yZ78zDO7jdemMmRWU6bx0o7HYbDnPdJLx0kqXMavBcuOzfBQKBhcKRqazTHFrq3u0b1MtFSZX-KaPZkTX21vSqiPddz4EoUTsXfzgVy8VgjMofUSUD7rA/s1600-h/2.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 301px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ2KW65nNcRbbpUcn398jU_yZ78zDO7jdemMmRWU6bx0o7HYbDnPdJLx0kqXMavBcuOzfBQKBhcKRqazTHFrq3u0b1MtFSZX-KaPZkTX21vSqiPddz4EoUTsXfzgVy8VgjMofUSUD7rA/s320/2.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414431852634835378&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Innovation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UltraFlexTM modular I/O technology enables you to easily add more ports to your array, either Fibre Channel (FC) or iSCSI, as your needs change. You can also easily add future network technologies, such as FCoE once it is available, giving you remarkable flexibility and investment protection. The innovations built into the new Dell/EMC CX4 arrays extend beyond just flexible I/O to include virtual provisioning, support for enterprise flash drives (EFD), enhanced tiering options, features, such as drive spin down and variable speed fans, that enable greener storage by helping to reduce power consumption, and design improvements for performance and availability. In addition, management and reporting features on the CX4 have been enhanced to help you reduce time and effort required for managing your storage in virtualized server environments.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Virtual provisioning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Employ virtual provisioning to help reduce acquisition and operational costs while helping to improve capacity utilization. This can result in fewer drives and can help reduce hardware costs, management time, and power consumption.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaZ_MAdrLLw15QgitOQdvwZP0hwWGw4D2FNHXXI4q-TpMdTrbssXCHP5-bTqUtKhoplO6fRjJYe3ItXJemeWQ3gWFnjhpAjXrjdKqlhygE7kY1jlTCFaj_FnnabnnJXgO39hFbVJCAbQ/s1600-h/3.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 296px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaZ_MAdrLLw15QgitOQdvwZP0hwWGw4D2FNHXXI4q-TpMdTrbssXCHP5-bTqUtKhoplO6fRjJYe3ItXJemeWQ3gWFnjhpAjXrjdKqlhygE7kY1jlTCFaj_FnnabnnJXgO39hFbVJCAbQ/s320/3.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414432026241536578&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Cost effective scalability&lt;br /&gt;&lt;br /&gt;The CX4-120 array can scale from 5 to 120 drives, connect to as many as 256 highly available hosts in a SAN and store up to 120TB of data, and the extensive support matrix makes it easy to add storage in heterogeneous environments. The CX4 helps ease growing pains allowing you to easily add more capacity, whether it is 10K or 15K FC, 7.2K or 5.4K (energy efficient) SATA or flash drives, as your storage needs change. UltraFlex technology enables you to increase the ports on your array through up to 6 hot-pluggable I/O modules. In addition, the new enterprise flash drives (EFD) option adds a new level of performance for critical applications where 1 EFD can equal up to the performance of 30 Fibre Channel drives. Plus, if you outgrow your CX4-120, data-in-place upgrades are available to move up to an array with higher capacity and performance within the CX4 family.&lt;br /&gt;Green storage&lt;br /&gt;&lt;br /&gt;Innovations built into the new CX4 arrays help to reduce power consumption and cooling requirements.&lt;br /&gt;&lt;br /&gt;  * The new energy efficient 5,400 RPM SATA drives typically consume up to 32% less power1 than a standard 7,200 RPM SATA drive letting you select drives that use less power and help meet your access requirements.The addition of these and other drives creates new tiering options enabling you to use more efficient design in managing how and where your data is stored which offers the potential to reduce power and cooling needs.&lt;br /&gt;  * EFD drives, thanks to their higher performance characteristics, can often replace the need for large numbers of spinning drives.&lt;br /&gt;  * Drive spin down comes standard on the CX4, and enables you to easily set policies for your SATA drives in the array to power them down when not in use, helping to reduce power consumption and cooling requirements.&lt;br /&gt;  * Virtual provisioning is designed to reduce the total number of drives needed, and thus help reduce the power and cooling required for your storage solution.&lt;br /&gt;  * The CX4 includes adaptive fan technology where fans spin only at the speed that is needed to keep it cool, potentially further reducing power requirements.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidv8BT0rXoDG9SdVlhpZaamJn0__nXTTMv_-m5nRLGZqtxbLTcU3CFwXHNzsy7ucw1v8_pdS7-FmOKebHYmbT8cDIv3mPvjamx3pfE53sWQr1b3Gr_83yeJMdi4w2zpj3OWw1ZyuCpqw/s1600-h/4.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 311px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidv8BT0rXoDG9SdVlhpZaamJn0__nXTTMv_-m5nRLGZqtxbLTcU3CFwXHNzsy7ucw1v8_pdS7-FmOKebHYmbT8cDIv3mPvjamx3pfE53sWQr1b3Gr_83yeJMdi4w2zpj3OWw1ZyuCpqw/s320/4.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414432460815178226&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Green storage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;nnovations built into the new CX4 arrays help to reduce power consumption and cooling requirements.          &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;ul class=&quot;point_normal&quot;&gt;&lt;li class=&quot;point_normal&quot;&gt;The new energy efficient 5,400 RPM SATA drives typically consume up to 32% less power&lt;a onclick=&quot;&#39;s_objectID=&quot; rel=&quot;/content/public/glossary.aspx?c=in&amp;amp;s=bsd&amp;amp;l=en&amp;amp;cs=inbsd1&amp;amp;~tnmode=html&amp;amp;i=green_storage&quot; class=&quot;technote_link&quot; href=&quot;javascript:void(0)&quot;&gt;&lt;sup tn=&quot;green_storage&quot;&gt;1&lt;/sup&gt;&lt;/a&gt; than a standard 7,200 RPM SATA drive letting you select drives that use less power and help meet your access requirements.The addition of these and other drives creates new tiering options enabling you to use more efficient design in managing how and where your data is stored which offers the potential to reduce power and cooling needs. &lt;/li&gt;&lt;li class=&quot;point_normal&quot;&gt;EFD drives, thanks to their higher performance characteristics, can often replace the need for large numbers of spinning drives.&lt;/li&gt;&lt;li class=&quot;point_normal&quot;&gt;Drive spin down comes standard on the CX4, and enables you to easily set policies for your SATA drives in the array to power them down when not in use, helping to reduce power consumption and cooling requirements. &lt;/li&gt;&lt;li class=&quot;point_normal&quot;&gt;Virtual provisioning is designed to reduce the total number of drives needed, and thus help reduce the power and cooling required for your storage solution. &lt;/li&gt;&lt;li class=&quot;point_normal&quot;&gt;The CX4 includes adaptive fan technology where fans spin only at the speed that is needed to keep it cool, potentially further reducing power requirements.&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbw7Nd0sraFQ1VozRqKw2_nwFyAwnmjjkkvW0hY38rUUH5JWNmnwXYNixeXiXl4tBiEQ1Tc1KxwDhZ-hWQemavvKkoF0w8qv_xysFBx671mPiV40oggKZ-KhnzwPhfWawOBk9LnE_4tw/s1600-h/5.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 298px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbw7Nd0sraFQ1VozRqKw2_nwFyAwnmjjkkvW0hY38rUUH5JWNmnwXYNixeXiXl4tBiEQ1Tc1KxwDhZ-hWQemavvKkoF0w8qv_xysFBx671mPiV40oggKZ-KhnzwPhfWawOBk9LnE_4tw/s320/5.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5414432667155798962&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Systems and data management&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The same applications that provide advanced data protection, data path management, optimization, replication and migration that were available on previous CX series arrays are also supported on the CX4 arrays. These include SnapViewTM , MirrorViewTM , SAN CopyTM , Replication ManagerTM , PowerPathTM , Navisphere® Analyzer and Navisphere Quality of Service ManagerTM . The array is managed using the powerful and intuitive management interface, Navisphere Manager, which has formed the core of CX array management since its inception.&lt;br /&gt;Seamless integration&lt;br /&gt;&lt;br /&gt;With Dell/EMC storage arrays, you can easily deploy, expand, and re-deploy storage. Migrating data seamlessly between different classes of drives and RAID types can help in delivering the optimal combination of performance and availability for your unique needs. And with Virtual LUN technology, data migration takes place dynamically and effortlessly, helping avoid disruption in your environment. Dell/EMC storage arrays support the EMC data replication and migration applications, MirrorviewTM and SAN CopyTM . These optional tools let you remotely mirror data from one array to another to help meet disaster recovery goals or to simply move data across arrays.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;iSCSI Support&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;iSCSI using traditional 1Gbit IP connections to connect the Dell/EMC CX4 storage array to server hosts is an ideal choice for a remote server environment or limited budgets. The greater bandwidth of 10Gbit iSCSI will be beneficial to customers who are building out new storage infrastructure or who want to consolidate numerous 1Gbit iSCSI hosts to a single 10Gbit connection. With CX4 arrays, you have the flexibility to choose either iSCSI or Fibre Channel connections and how many iSCSI and FC ports you may want now or later.&lt;br /&gt;Solutions&lt;br /&gt;&lt;br /&gt;Dell/EMC storage arrays are integrated into Dell’s Microsoft® Exchange® , Microsoft SQL Server® , and Oracle® solutions, which offer tested and validated reference architectures to help solve your messaging and database challenges.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/2185739862824385417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/dellemc-cx4-120-san-storage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2185739862824385417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2185739862824385417'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/dellemc-cx4-120-san-storage.html' title='Dell/EMC CX4-120 SAN Storage'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9NGf-HKcvf3Nnyh4wYkSWmUY-KP3jGVxxILFolPrcweTVuSb-qkZlY6al7hOn6jhyphenhyphen-iUCTnQYNHoX_DVUJVUXK05fQkcauFNyUUMjIvZuhhnwNbLJzGgRPxP8hDTaq8RHbMzT3MrJw/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-2408597871975641984</id><published>2009-12-12T11:03:00.001-08:00</published><updated>2009-12-12T11:03:27.949-08:00</updated><title type='text'>Managed Dedicated Host Codero Commits to Renewable Energy</title><content type='html'>With the recent purchase of 12,600 MWh in renewable energy credits (RECs), Codero now supplies 100% green power to its data centers in Phoenix, AZ and San Diego, CA and headquarters location in Overland Park, KS. Through this long-term commitment, Codero becomes the largest dedicated server and managed hosting provider in the industry to offer green hosting solutions across its entire operations. The new Green with Codero Initiative means any small- to medium-sized business can power their websites and online stores using green energy.&lt;br /&gt;“Green hosting is an important step forward in our evolution as a company,” notes Phil Spencer, CEO of Codero. “Through innovative practices and opportunities like the Green-e program, our customers can make smarter energy choices for their online businesses – and that benefits all of us.”&lt;br /&gt;Codero’s broad commitment to greening its operations was made possible through Ecoelectrons Renewable Energy, which specializes in helping corporations reduce their carbon footprint through the purchase of Green-e certified RECs. Green-e is the nation’s leading independent consumer protection program for the sale of renewable energy and greenhouse gas reductions in the retail market. In addition, Codero has joined USEPA’s Green Power Partnership as a Leadership Club member to support others within the industry and abroad to achieve more sustainable practices.&lt;br /&gt;“EPA is pleased to welcome Codero to the Green Power Partnership. We applaud their commitment to using green power to reduce greenhouse gas emissions,” says Susan Wickwire, Chief of the Energy Supply and Industry Branch at USEPA.&lt;br /&gt;Codero joins a growing list of companies and organizations taking action to reduce their greenhouse gas emissions. A member of Green-e Energy’s Marketplace program, the company now displays the Green-e logo on its website and other communication materials; this national symbol identifies Codero as an environmental leader in purchasing 100% certified renewable energy. As part of the company’s REC purchase, energy is sourced from the Pioneer Prairie Wind Farm, in Howard County, IA, and confirmed by the Center for Resource Solutions, the nation’s leading independent certification and verification program for renewable energy</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/2408597871975641984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/managed-dedicated-host-codero-commits.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2408597871975641984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2408597871975641984'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/managed-dedicated-host-codero-commits.html' title='Managed Dedicated Host Codero Commits to Renewable Energy'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-4576655722917559438</id><published>2009-12-12T11:02:00.001-08:00</published><updated>2009-12-12T11:02:53.263-08:00</updated><title type='text'>New Service from Purity Networks Offers Affordable Email Protection</title><content type='html'>Purity Networks announced today the general availability of its new UserProtect service, offering the powerful email protection of Purity Networks’ other email services at an affordable, per user pricing.&lt;br /&gt;The UserProtect service provides users with the full range of Purity Networks’ email protection services, including protection from spam, viruses, phishing and other malware, priced on a per user, unlimited volume basis. Prices start at just $10.95 per user per year with volume discounts available and monthly billing options are available to accounts with 10 users or more.&lt;br /&gt;Account administrators will love the ease of use of the Purity Networks Account Manager. It gives administrators the ability to manage their users and their account settings from a powerful, feature-rich management console. The forthcoming new version of Purity Networks RESTful API will make integration with existing infrastructure effortless.&lt;br /&gt;“With the release of UserProtect, we now offer our customers a choice of which pricing model best meets their needs,” said George A. Roberts IV, President and CEO of Purity Networks. “UserProtect offers per user, flat rate pricing and our ServerProtect and DomainProtect offer volume-based pricing.”&lt;br /&gt;Purity Networks backs all of its services with a 30 day, 100% money-back satisfaction guarantee. A 99.9% uptime guarantee and a 24-hour support response guarantee are also provided to all customers at no additional charge.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/4576655722917559438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/new-service-from-purity-networks-offers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4576655722917559438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4576655722917559438'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/new-service-from-purity-networks-offers.html' title='New Service from Purity Networks Offers Affordable Email Protection'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-6811192405455277234</id><published>2009-12-12T11:01:00.002-08:00</published><updated>2009-12-12T11:02:09.910-08:00</updated><title type='text'>About Purity Networks</title><content type='html'>Purity Networks is an internet security services and hardware company based out of the Chicago area. Founded by the creators of the HostingCon tradeshow, Purity Networks is focused on providing products and services that give people and companies the freedom to use the internet without worrying about spam, viruses and other malware</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/6811192405455277234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/about-purity-networks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/6811192405455277234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/6811192405455277234'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/about-purity-networks.html' title='About Purity Networks'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-877506528767813093</id><published>2009-12-12T11:01:00.001-08:00</published><updated>2009-12-12T11:01:43.939-08:00</updated><title type='text'>Reseller Program for Hosted Exchange 2010 Launched By InterMedia</title><content type='html'>Intermedia, today opened its industry-first hosted Exchange 2010 service to its existing and future partners. These managed service providers, value-added resellers and other technology providers can sell and support hosted Exchange 2010 under their own brand as members of Intermedia’s Private Label Partner Program.&lt;br /&gt;&lt;br /&gt;Intermedia launched the first hosted Exchange 2010 service on November 9 and remains the only provider of hosted Exchange 2010. The service includes a 100 percent Data Protection Guarantee in addition to Intermedia’s longstanding 99.999 percent uptime service level agreement. Intermedia is able to credibly offer the Data Protection Guarantee, which is enforced by stiff financial penalties, because of the proprietary architecture the company developed to work with hosted Exchange 2010.&lt;br /&gt;&lt;br /&gt;“With Intermedia, I can offer clients Exchange 2010 with a 100 percent Data Protection Guarantee, giving me an edge over competitors that offer only Exchange 2007,” says Etorre Dragone, president, Micro Technology Groupe. “I’m always looking for new solutions to help me expand my customer base – Exchange 2010 is definitely one that will help me close more deals with new prospects. Intermedia has proven to be a leader and a valued partner that focuses on offering us the latest in technology, security and reliability so that we can have best-of-breed offerings for our customers.”&lt;br /&gt;&lt;br /&gt;According to an Osterman Research survey commissioned by Intermedia, nearly 50 percent of IT decision makers surveyed were on an Exchange 2003 or older platform. Of all IT decision makers surveyed, nearly 65 percent were likely to deploy Exchange 2010 within the next six months – supporting the notion that customers are eager for the new platform.&lt;br /&gt;&lt;br /&gt;Intermedia private label partners generate recurring revenue from existing and new customers with high margin Exchange hosting services – all under their own brand – while Intermedia maintains, monitors and upgrades all hardware and software. Intermedia also offers an Affiliate Program for partners that prefer to promote Intermedia solutions and earn a commission for each sale they make. All partners can sell Intermedia’s full suite of hosted communications and collaboration software, including Office Communications Server 2007, SharePoint 3.0 WSS and both Exchange 2010 and Exchange 2007. Intermedia enables resellers to sell not only Microsoft products, but a full ecosystem of related offerings including full support for Blackberry Enterprise Server, fax lines and more.&lt;br /&gt;&lt;br /&gt;Intermedia combines proprietary technology with Microsoft Exchange 2010 so customers and partners can have the most robust offering. Additional features of Intermedia’s hosted Exchange 2010 include:&lt;br /&gt;&lt;br /&gt;* Choice of datacenter location per mailbox: Partners can choose, on a mailbox level basis, where their customers’ Exchange account data will be stored in order to minimize latency. Partners with customers that are spread throughout the U.S. will enjoy the ability to host some of their mailboxes on the East coast and some of them on the West coast.* New Outlook Web Application (OWA): Partners’ customers will enjoy the ability to access email, instant messaging, SMS text messaging and more – all in one place and through all major web browsers.* Improved ActiveSync: All the latest features of Exchange are available to any mobile device that has Windows Mobile 6.1 or later.&lt;br /&gt;&lt;br /&gt;Intermedia has offered private label Exchange hosting since 2001 and has over 4,000 partners – from one-person firms to some of the world’s largest IT names.&lt;br /&gt;&lt;br /&gt;ABOUT INTERMEDIA&lt;br /&gt;Intermedia is the premier provider of communications services, including hosted Microsoft Exchange, to small- and mid-sized businesses. For an affordable monthly fee, customers get business email, telephony, smartphones, instant messaging, fax and other communications delivered as a service with 24×7 support. Intermedia also empowers thousands of smaller VARs and MSPs – as well as select Fortune 500 companies</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/877506528767813093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/reseller-program-for-hosted-exchange.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/877506528767813093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/877506528767813093'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/reseller-program-for-hosted-exchange.html' title='Reseller Program for Hosted Exchange 2010 Launched By InterMedia'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-377717762534043297</id><published>2009-12-12T11:00:00.000-08:00</published><updated>2009-12-12T11:01:03.147-08:00</updated><title type='text'>Click To Client, LLC changes name to The Marketing Zen Group</title><content type='html'>An announcement from Click To Client, LLC officials state that the company will now be known as The Marketing Zen Group .&lt;br /&gt;The Marketing Zen Group which provides full scale online marketing services to clients around the world has been formally launched. Formerly known as Click To Client, LLC, the company has recently expanded their service offerings and increased their internal team size.&lt;br /&gt;“With our continued focus on providing comprehensive online marketing services, we felt we needed a name to accurately reflect that growth and commitment. One of the key things we hear from clients is that we make online marketing easy for them, and we truly believe there is a Zen to online marketing” stated Shama Kabani, President of The Marketing Zen Group.&lt;br /&gt;The Marketing Zen Group’s primary services include serving as an outsourced marketing department, web design and development, search engine optimization, and social media marketing.. Their clients include K9Cuisine.com, Easy Sale, Inc, Arthur Murray Studios, and David Bach.&lt;br /&gt;For more information, contact:&lt;br /&gt;Marjorie R. Asturias&lt;br /&gt;Media Relations and Accounts Supervisor&lt;br /&gt;Email: marjorie@marketingzen.com&lt;br /&gt;Phone: 1888- 460-6008</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/377717762534043297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/click-to-client-llc-changes-name-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/377717762534043297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/377717762534043297'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/click-to-client-llc-changes-name-to.html' title='Click To Client, LLC changes name to The Marketing Zen Group'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-1582025286407616948</id><published>2009-12-12T10:59:00.000-08:00</published><updated>2009-12-12T11:00:20.977-08:00</updated><title type='text'>An announcement from Click To Client, LLC officials State</title><content type='html'>SoftLayer Technologies™, the innovative on-demand data center services provider, today announced the opening of three new data center pods in the company’s Dallas, Seattle, and Washington, D.C., data center facilities. The new pods add capacity for 20,000 additional servers, bringing SoftLayer’s total capacity to more than 45,000 physical machines.&lt;br /&gt;The new pods are part of SoftLayer’s unique approach to data center design. Each of the company’s geographically diverse data centers consists of multiple pods built to identical specifications with the same best-in-class methodologies. This level of standardization across all its geographic locations enables SoftLayer to optimize key data center performance variables, including space, power, network, personnel, and internal infrastructure.&lt;br /&gt;SoftLayer’s milestones in 2009 included:&lt;br /&gt;* More than 5,700 active customers across 110+ countries* More than 23,000 deployed servers* Placement in Gartner’s Magic Quadrant for Web Hosting and Cloud Infrastructure Services* Introduction of CloudLayer™ line of cloud services, including CloudLayer Storage, CloudLayer CDN, CloudLayer Computing, and Bare Metal Cloud™* Industry’s first deployment of Intel® Nehalem microarchitecture* IPv6 support across all data centers* Multiple carrier additions across all data centers for a total of 290Gbps&lt;br /&gt;“We continue gaining momentum every year. We broke more projections and records this year than last, and 2010 will bring even more of the same,” said Lance Crosby, CEO of SoftLayer. “These three new pods meet the customer demand increases that we expect in the very near future. And they are only preliminary measures in our growth strategy for 2010. We have some big plans which we can’t wait to share with everyone.”&lt;br /&gt;About SoftLayer Technologies&lt;br /&gt;Headquartered in Plano, Texas, SoftLayer provides best-in-class, on-demand IT services on a global basis from facilities in Dallas, Seattle, and Washington, DC. SoftLayer integrates and automates all IT elements to innovate industry-leading services—including cloud, dedicated, and virtual computing environments</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/1582025286407616948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/announcement-from-click-to-client-llc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/1582025286407616948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/1582025286407616948'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/announcement-from-click-to-client-llc.html' title='An announcement from Click To Client, LLC officials State'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-2018597167640826529</id><published>2009-12-12T10:58:00.000-08:00</published><updated>2009-12-12T10:59:39.063-08:00</updated><title type='text'>The Planet Extends High-Performance SAN to Dedicated Hosting Customers</title><content type='html'>The Planet, a global leader in IT hosting, today announced the availability of the Dell PowerVault MD3000i, a high-performance storage area network (SAN) disk array. Ideal for multi-server environments such as virtual and private racks, the MD3000i offers a cost-effective and scalable storage solution.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The MD3000i uses iSCSI Ethernet technology to enable shared storage across multiple servers, eliminating the need to build out a costly fiber channel infrastructure. Up to 16 servers can share the MD3000i, which has 15 internal drive slots for a total storage capacity up to 15 terabytes (TB). In the event more capacity is required, companies can add up to two MD1000 storage arrays to the MD3000i for an additional 45TB.“One of the most critical business challenges customers face today is data storage, and all too often it’s also one of the most costly,” said Rob Walters, director of product management for The Planet. “The MD3000i lowers the barrier to entry for high-performance, consolidated storage, and also provides a clear path for expansion for companies that expect to see their storage requirements grow.”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;About the Dell PowerVault MD3000iThe iSCSI SAN array provides a scalable and low-cost storage solution, which continually protects daily operations and enables an easy path for expansion:Cost-effective: The MD3000i, The Planet’s lowest-priced SAN, can be shared by as many as 16 servers, which eliminates the high cost of buying individual storage devices for each server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Scalable: In addition to its 15 internal drive slots, customers can add up to two 15-drive MD1000 disk arrays to the MD3000i, for up to 45TB of storage.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Capable: With its large capacity and high availability, the MD3000i is ideal for businesses running performance-intensive applications, databases, and file or archive storage.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For more information, visit the Web site at http://www.theplanet.com/storage-area-network/.Through Dec. 31, the company is offering a promotion on the MD3000i and MD1000. Customers will receive either the SAN or DAS enclosure free with purchase of 15 1TB or 300GB hard drives, a savings up to $650 per month.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/2018597167640826529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/planet-extends-high-performance-san-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2018597167640826529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2018597167640826529'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/planet-extends-high-performance-san-to.html' title='The Planet Extends High-Performance SAN to Dedicated Hosting Customers'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-3916142614229748941</id><published>2009-12-12T10:57:00.002-08:00</published><updated>2009-12-12T10:58:45.405-08:00</updated><title type='text'>Latest Open-Xchange Makes Webmail and Social Network Integration Easy</title><content type='html'>Open-Xchange, a leading provider of open source groupware, today announced enhancements that simplify the aggregation of e-mail and contact information, giving users access to their data anywhere, anytime and with any device.&lt;br /&gt;&lt;br /&gt;To improve ease-of use, the latest enhancements introduce a wizard that eases the setup for new and existing Open-Xchange users. The wizard configures the subscriptions of external mail accounts from Google, GMX, Web.de and many others, along with social and business networks like Facebook, LinkedIn, Xing and others, as well as the push synchronization of mobile phones.&lt;br /&gt;&lt;br /&gt;“Open-Xchange creates a data hub that gives end users control over their data,” said Rafael Laguna, CEO of Open-Xchange. “Using open and standardized data formats provides users and organizations with the freedom and security to use social web services for the benefit of their business, without many of the lock-in dangers inherent in such social web services.”&lt;br /&gt;Additional new features include:&lt;br /&gt;• New team calendar view&lt;br /&gt;• Usability improvements in the AJAX User Interface&lt;br /&gt;• Enhanced OXtender for Microsoft Outlook&lt;br /&gt;• New On-Line help and manuals&lt;br /&gt;&lt;br /&gt;Open-Xchange is used by more than 15 million users worldwide as hosted and on-premise business-class e-mail and groupware. On-premise customers can update their installations immediately with the new version of Open-Xchange 6.14; Software as a Service customers will benefit from the new features as soon as their provider updates their accounts.&lt;br /&gt;&lt;br /&gt;Anyone can try the latest Open-Xchange improvements for free at a special preview website, http://ox.io.&lt;br /&gt;&lt;br /&gt;A detailed description of all new features of Open-Xchange can be seen athttp://software.open-xchange.com/OX6/doc/feature_overview_6_14_20091105.pdf.&lt;br /&gt;About Open-Xchange&lt;br /&gt;Open-Xchange is the innovator of scalable and integrated open source e-mail and collaboration solutions for enterprises, academic institutions, and government authorities. The company provides on-premise versions called Open-Xchange Server Edition and Open-Xchange Appliance Edition, along with Open-Xchange Hosting Edition, which enables web hosting companies to provide an easy-to-use and feature-rich application delivered as Software as a Service (SaaS). The Open-Xchange Hosting Edition is architected to integrate into a hosting provider’s existing infrastructure, such as authentication, provisioning, billing, and e-mail storage and does not require that these systems be replaced.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/3916142614229748941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/latest-open-xchange-makes-webmail-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/3916142614229748941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/3916142614229748941'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/latest-open-xchange-makes-webmail-and.html' title='Latest Open-Xchange Makes Webmail and Social Network Integration Easy'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-5016757907206717997</id><published>2009-12-04T09:38:00.001-08:00</published><updated>2009-12-04T09:38:48.631-08:00</updated><title type='text'>Intel® Turbo Memory with User Pinning</title><content type='html'>&lt;h1&gt;&lt;span class=&quot;overview&quot;&gt;Enhancing system performance through memory innovation&lt;/span&gt;&lt;/h1&gt;            &lt;!-- 66-33-two-col-container --&gt;    &lt;div class=&quot;main-left&quot;&gt;      &lt;p class=&quot;intro&quot;&gt;&lt;img src=&quot;http://www.intel.com/design/flash/nand/pix/turbomemory.jpg&quot; alt=&quot;Intel® Turbo Memory&quot; title=&quot;Intel® Turbo Memory&quot; class=&quot;imgfloat&quot; width=&quot;150&quot; height=&quot;100&quot; /&gt; Intel® Turbo Memory with User Pinning brings mobile and desktop systems performance to new heights through the innovative extension of Flash Memory architectures into computing platforms. User pinning offers more options to the user to improve system applications launch time and responsiveness.&lt;/p&gt;         &lt;br /&gt;    &lt;!-- /66-33-two-col-container --&gt;          &lt;h2&gt;User pinning&lt;/h2&gt;    &lt;p&gt;The new user pinning capability feature, via the Intel® Turbo Memory Dashboard, allows the user to choose and control which applications or files are loaded into the Intel® Turbo Memory cache for performance acceleration. Custom pinning profiles can be created to pin applications or files that match the user&#39;s activity, such as PC gaming, office work, or home tasks&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Performance&lt;/h2&gt;    &lt;p&gt;Intel® NAND Flash Memory, working with the Microsoft Windows Vista* ReadyBoost* and ReadyDrive* technologies, adds a new low-latency, non-volatile memory cache between the system memory and the hard drive. This enables fast access to critical data and applications.&lt;/p&gt;    &lt;!-- list-bulleted --&gt;    &lt;ul class=&quot;bullets&quot;&gt;&lt;li&gt;Fast application load times, hibernation and resume&lt;/li&gt;&lt;li&gt;Fast overall application responsiveness&lt;/li&gt;&lt;li&gt;Fast boot time&lt;/li&gt;&lt;li&gt;Quick access to frequently used applications and/or files from user pinning&lt;/li&gt;&lt;li&gt;Enhanced data loss protection using RAID 1, 5 and 10&lt;/li&gt;&lt;/ul&gt;    &lt;!-- /list-bulleted --&gt;        &lt;h2&gt;Platform compatibility&lt;/h2&gt;    &lt;p&gt;Intel® Turbo Memory cards are compatible with Intel® Centrino® and Intel® Centrino® 2 processor technology for notebook PCs and Intel® Core™2 processor family with Series 4 chip sets for business desktop PCs and digital home media.&lt;/p&gt;     &lt;p&gt;Be sure to ask for Intel® Turbo Memory with User Pinning and Intel® Turbo Memory Dashboard when purchasing your next Intel-based PC.&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/5016757907206717997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-turbo-memory-with-user-pinning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/5016757907206717997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/5016757907206717997'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-turbo-memory-with-user-pinning.html' title='Intel® Turbo Memory with User Pinning'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-1678273537934885246</id><published>2009-12-04T09:37:00.003-08:00</published><updated>2009-12-04T09:37:55.340-08:00</updated><title type='text'>Intel® X25-M and X18-M Mainstream SATA Solid-State Drives</title><content type='html'>&lt;!-- /tabs-single-height --&gt;     &lt;!-- 66-33-two-col-container --&gt;                            &lt;p&gt;&lt;strong&gt;High-performance storage for notebook and desktop PCs – now on 34nm NAND flash memory featuring the Intel® SSD Toolbox&lt;/strong&gt;&lt;/p&gt;  &lt;!-- image-with-text-wrapping --&gt;   &lt;img src=&quot;http://www.intel.com/design/flash/NAND/mainstream/pix/mainstream_ssds.jpg&quot; alt=&quot;High-performance storage for notebook and desktop PCs&quot; title=&quot;High-performance storage for notebook and desktop PCs&quot; class=&quot;imgfloat&quot; width=&quot;150&quot; height=&quot;96&quot; /&gt;   &lt;p class=&quot;intro&quot;&gt;Intel® Solid State Drives (Intel® SSDs) represent a revolutionary breakthrough that delivers a giant leap in storage performance. Intel Solid State Drives are designed to satisfy the most demanding gamers, media creators, and technology enthusiasts. These new drives bring a high level of performance and reliability to notebook and desktop PC storage, at a fraction of the cost of the previous generation of Intel® Solid State Drives (Intel® SSD) products.&lt;/p&gt;   &lt;p&gt;&lt;strong&gt;Wait less. Do more.&lt;/strong&gt;&lt;/p&gt;   &lt;p&gt;Why wait for a traditional hard disk drive to spin up? Unlike traditional hard disk drives, Intel Solid State Drives have no moving parts, resulting in a quiet, cool, highly rugged storage solution that also offers faster system responsiveness. And for laptop PCs, the lower power needs of Intel SSDs translate to longer battery life and lighter notebooks. Higher performance with more durability means you can be truly mobile with confidence.&lt;/p&gt;                    &lt;p&gt;&lt;strong&gt;Better by design&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;Drawing from decades of memory engineering experience, and now on new, industry-leading compute-quality 34nm NAND flash memory manufacturing processes, Intel® Mainstream SATA Solid-State Drives are designed to deliver &lt;a href=&quot;http://www.intel.com/performance/mobile/sata/sata.htm&quot;&gt;outstanding performance&lt;/a&gt;, featuring the latest-generation native SATA interface with an advanced architecture employing 10 parallel NAND flash channels equipped with multi-level cell NAND flash memory. With powerful Native Command Queuing to enable up to 32 concurrent operations, Intel Mainstream SATA SSDs deliver higher input/output per second and throughput performance than other SSDs on the market today – and drastically outperform traditional hard disk drives. These drives also feature low write amplification and a unique wear-leveling design for higher reliability, meaning Intel drives not only perform better – they last longer.&lt;/p&gt;                  &lt;p&gt;&lt;strong&gt;Featuring the Intel® SSD Toolbox with Intel® SSD Optimizer &lt;/strong&gt;&lt;/p&gt;               &lt;p&gt;The Intel® SSD Toolbox with Intel® SSD Optimizer provides a set of applications to easily manage the health and optimize the performance of your Intel SSD. The Intel SSD Toolbox includes a powerful set of management, information, and diagnostic tools, and is designed to work best with 34nm Intel SSDs. The Intel SSD Optimizer utilizes the new ATA Data Set Management Command (Trim Attribute) to help maintain your SSDs performance at &quot;fresh-out-of-the-box&quot; levels, and is specifically designed to run with Microsoft Windows 7*. The Intel SSD Optimizer also works with Microsoft Windows Vista* and XP* operating systems as well.&lt;/p&gt;                 &lt;p&gt;&lt;strong&gt;Two options. No worries.&lt;/strong&gt;&lt;/p&gt;                 &lt;p&gt;Intel® Mainstream SATA Solid-State Drives are available in either 2.5in (Intel® X25-M Mainstream SATA Solid-State Drive) or 1.8in (Intel® X18-M Mainstream SATA Solid-State Drive) standard hard drive form factors. And all Intel Mainstream SSDs are tested and validated on the latest Intel-based mobile and desktop platforms for your peace of mind.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/1678273537934885246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-x25-m-and-x18-m-mainstream-sata.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/1678273537934885246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/1678273537934885246'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-x25-m-and-x18-m-mainstream-sata.html' title='Intel® X25-M and X18-M Mainstream SATA Solid-State Drives'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-1924578779372358396</id><published>2009-12-04T09:37:00.001-08:00</published><updated>2009-12-04T09:37:35.067-08:00</updated><title type='text'>Intel® X25-E Extreme SATA Solid-State Drive</title><content type='html'>&lt;strong&gt;xtreme performance, reliability, and power savings for servers, storage and workstations&lt;/strong&gt;  &lt;!-- image-with-text-wrapping --&gt; &lt;img src=&quot;http://www.intel.com/design/flash/NAND/extreme/pix/extreme_ssd.jpg&quot; alt=&quot;Intel® X25-E Extreme SATA Solid-State Drive&quot; title=&quot;Intel® X25-E Extreme SATA Solid-State Drive&quot; class=&quot;imgfloat&quot; width=&quot;150&quot; height=&quot;107&quot; /&gt; &lt;p&gt;The Intel® Extreme SATA Solid-State Drive (SSD) offers outstanding performance and reliability, delivering the highest IOPS per watt for servers, storage and high-end workstations.&lt;/p&gt;   &lt;!-- /image-with-text-wrapping --&gt; &lt;p&gt;&lt;strong&gt;Reduce your Total Cost of Ownership (TCO)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Enterprise applications place a premium on performance, reliability, power consumption and space. Unlike traditional hard disk drives, Intel Solid-State Drives have no moving parts, resulting in a quiet, cool storage solution that also offers significantly higher performance than traditional server drives. Imagine replacing up to 50 high-RPM hard disk drives with one Intel® X25-E Extreme SATA Solid-State Drive in your servers — handling the same server workload in less space, with no cooling requirements and lower power consumption. That space and power savings, for the same server workload, will translate to a tangible reduction in your TCO.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Better by design&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Drawing from decades of memory engineering experience, the Intel X25-E Extreme SATA Solid-State Drive is designed to deliver outstanding performance and reliability, featuring the latest-generation native SATA interface with an advanced architecture employing 10 parallel NAND flash channels equipped with single-level cell NAND flash memory for even greater overall performance and reliability. With powerful Native Command Queuing to enable up to 32 concurrent operations, these Intel SSDs deliver higher Input/Output Operations per Second (IOPS) and throughput performance than other SSDs on the market today - and drastically outperform traditional hard disk drives. These Intel drives also feature low write amplification and a unique wear-leveling design for higher reliability, meaning Intel drives not only perform better - they last longer.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Validated and tested by Intel, on Intel&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;All Intel® X25-E Extreme SATA Solid-State Drives are tested and validated on the latest Intel-based server and workstation platforms, for your peace of mind.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/1924578779372358396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-x25-e-extreme-sata-solid-state.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/1924578779372358396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/1924578779372358396'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-x25-e-extreme-sata-solid-state.html' title='Intel® X25-E Extreme SATA Solid-State Drive'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-482712142908016697</id><published>2009-12-04T09:35:00.001-08:00</published><updated>2009-12-04T09:37:11.034-08:00</updated><title type='text'>Intel® Desktop Board DP55SB</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVNwrb_PEfKYkQ-9-spyXU5dptS60Xc4XgHSf_otBn4hJtaBMbx7372VCaa50TdtKhQonlLIPyWF653dZYKS6xw95Za9Ob-Uq4NX0MoalFVEIyGtPtXBq_kYPNuQ2k7kCkFUquYXdgVw/s1600-h/dp55sb_sm.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 226px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVNwrb_PEfKYkQ-9-spyXU5dptS60Xc4XgHSf_otBn4hJtaBMbx7372VCaa50TdtKhQonlLIPyWF653dZYKS6xw95Za9Ob-Uq4NX0MoalFVEIyGtPtXBq_kYPNuQ2k7kCkFUquYXdgVw/s320/dp55sb_sm.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5411436071238780706&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Small is the new big with the Intel® Desktop Board DP55SB, delivering incredible performance in a microATX form factor. Enjoy great over-clocking hardware and software while boasting new features like Bluetooth* technology with support for ATI Crossfire* and NVIDIA SLI* technology for amazing graphics performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Features and benefits&lt;/h2&gt;       &lt;table class=&quot;feature-benefits arc&quot;&gt;        &lt;tbody&gt;&lt;tr bgcolor=&quot;#ffffff&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Form factor&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;MicroATX (9.60 inches by 9.60 inches [243.84 millimeters by 243.84 millimeters])&lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#e3e3e3&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Processor&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;a href=&quot;http://processormatch.intel.com/CompDB/SearchResult.aspx?BoardName=DP55SB&quot;&gt;View supported processors&lt;/a&gt; for the most current list of compatible processors. At product launch, this desktop board supports:   &lt;ul class=&quot;bullets&quot;&gt;&lt;li&gt;            &lt;a href=&quot;http://www.intel.com/products/processor/corei7/index.htm&quot;&gt;Intel® Core™ i7-800 processor series&lt;/a&gt; in an LGA1156 socket&lt;/li&gt;&lt;li&gt;            &lt;a href=&quot;http://www.intel.com/products/processor/corei5/index.htm&quot;&gt;Intel® Core™ i5–700 processor series&lt;/a&gt; in an LGA1156 socket&lt;/li&gt;&lt;/ul&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#ffffff&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Memory&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;ul class=&quot;bullets&quot;&gt;&lt;li&gt;Four 240-pin DDR3 SDRAM Dual Inline Memory Module (DIMM) sockets&lt;/li&gt;&lt;li&gt;Support for             &lt;a href=&quot;http://www.intel.com/technology/memory/index.htm&quot;&gt;DDR3&lt;/a&gt; 1600+π&lt;sup id=&quot;d093b03c580298d1d_1d&quot;&gt;1&lt;/sup&gt;/1333/1066 MHz DIMMs&lt;/li&gt;&lt;li&gt;Support for up to 16 GBπ&lt;sup id=&quot;d093b03c580298d1d_2d&quot;&gt;2&lt;/sup&gt; of system memory&lt;/li&gt;&lt;/ul&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#e3e3e3&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Chipset&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;ul&gt;&lt;li&gt;            &lt;a href=&quot;http://www.intel.com/products/desktop/chipsets/P55/P55-overview.htm&quot;&gt;Intel® P55 Express Chipset&lt;/a&gt;           &lt;/li&gt;&lt;/ul&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#ffffff&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Audio&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;a href=&quot;http://www.intel.com/design/chipsets/hdaudio.htm&quot;&gt;Intel® High Definition Audio&lt;/a&gt;◊ subsystem in the following configuration:   &lt;ul class=&quot;bullets&quot;&gt;&lt;li&gt;10-channel (7.1+ 2 independent multi-streaming) audio subsystem with five analog audio outputs and two optical S/PDIF digital audio for input and output using the Realtek * ALC889 audio codec&lt;/li&gt;&lt;/ul&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#e3e3e3&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Video&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;Nvidia SLI* and ATI CrossFire* technology support enables two graphics cards to work together for ultimate 3D gaming performance and visual quality&lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#ffffff&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;LAN support&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;Intel® PRO 10/100/1000 Network Connection (82578DC)&lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#e3e3e3&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Peripheral interfaces&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;ul class=&quot;bullets&quot;&gt;&lt;li&gt;Thirteen             &lt;a href=&quot;http://www.intel.com/technology/usb/index.htm&quot;&gt;USB&lt;/a&gt; 2.0 ports (8 external ports, 1 onboard, 2 internal headers)&lt;/li&gt;&lt;li&gt;Six             &lt;a href=&quot;http://www.intel.com/technology/serialata/index.htm&quot;&gt;Serial ATA&lt;/a&gt; 3.0 Gb/s ports including 1 eSATA port&lt;/li&gt;&lt;li&gt;Two IEEE-1394a ports (1 external port, 1 internal header)&lt;/li&gt;&lt;li&gt;Consumer IR receiver and emitter (via internal headers)&lt;/li&gt;&lt;li&gt;Integrated Bluetooth* Technology Module&lt;/li&gt;&lt;/ul&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#ffffff&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Expansion capabilities&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;ul class=&quot;bullets&quot;&gt;&lt;li&gt;One primary             &lt;a href=&quot;http://www.intel.com/technology/pciexpress/devnet/index.htm&quot;&gt;PCI Express&lt;/a&gt;* 2.0 x 16 bus add- in card connector&lt;/li&gt;&lt;li&gt;One PCI Express* 2.0 x8 bus add-in card connector, bifurcated from the primary PCI Express 2.0 x16&lt;/li&gt;&lt;li&gt;Two PCI Express* 2.0 x 1 connectors&lt;/li&gt;&lt;/ul&gt;         &lt;/td&gt;        &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;br /&gt;&lt;br /&gt;&lt;!-- /features-benefits --&gt;  &lt;!-- related products --&gt;       &lt;h2&gt;Related products&lt;/h2&gt;               &lt;table class=&quot;feature-benefits arc&quot;&gt;&lt;tbody&gt;&lt;tr bgcolor=&quot;#ffffff&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Processors&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;ul&gt;&lt;li&gt;            &lt;a href=&quot;http://www.intel.com/products/processor/corei7/index.htm&quot;&gt;Intel® Core™ i7 Processors&lt;/a&gt;           &lt;/li&gt;&lt;li&gt;            &lt;a href=&quot;http://www.intel.com/products/processor/corei5/index.htm&quot;&gt;Intel® Core™ i5 Processors&lt;/a&gt;           &lt;/li&gt;&lt;/ul&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr bgcolor=&quot;#e3e3e3&quot;&gt;         &lt;th valign=&quot;top&quot;&gt;Chipset&lt;/th&gt;         &lt;td valign=&quot;top&quot;&gt;          &lt;ul&gt;&lt;li&gt;            &lt;a href=&quot;http://www.intel.com/products/desktop/chipsets/P55/P55-overview.htm&quot;&gt;Intel® P55 Express Chipset&lt;/a&gt;           &lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/482712142908016697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-desktop-board-dp55sb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/482712142908016697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/482712142908016697'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-desktop-board-dp55sb.html' title='Intel® Desktop Board DP55SB'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVNwrb_PEfKYkQ-9-spyXU5dptS60Xc4XgHSf_otBn4hJtaBMbx7372VCaa50TdtKhQonlLIPyWF653dZYKS6xw95Za9Ob-Uq4NX0MoalFVEIyGtPtXBq_kYPNuQ2k7kCkFUquYXdgVw/s72-c/dp55sb_sm.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-2795605722889235732</id><published>2009-12-04T09:33:00.000-08:00</published><updated>2009-12-04T09:34:55.560-08:00</updated><title type='text'>Intel® Desktop Board DP55KG</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje1B5nFFkKUj-a3EGwQ2XoDzs6NCo5ho3RowZ9ktPvgrErud_7FEOY10IEhQoAVSwacSGHC1af9nmzAiR-LjOQ4oO7QtW8CCDyzeapoU42lB8lYUfidt2KkjY9q-n2xsI7k6lquWTh6w/s1600-h/DP55KG_sm.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 187px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje1B5nFFkKUj-a3EGwQ2XoDzs6NCo5ho3RowZ9ktPvgrErud_7FEOY10IEhQoAVSwacSGHC1af9nmzAiR-LjOQ4oO7QtW8CCDyzeapoU42lB8lYUfidt2KkjY9q-n2xsI7k6lquWTh6w/s320/DP55KG_sm.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5411435764173828546&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Intel® Desktop Board DP55KGenlarge image&lt;br /&gt;&lt;br /&gt;Designed by enthusiasts for enthusiasts, the Intel® Desktop Board DP55KG delivers incredible performance. Enjoy great over-clocking hardware and software while boasting new features like Bluetooth* technology. Support for ATI Crossfire* and NVIDIA SLI* technology rounds off the platform with amazing graphics performance.&lt;br /&gt;&lt;br /&gt;Features and benefits&lt;br /&gt;Form factor  ATX (12.00 inches by 9.60 inches [304.80 millimeters by 243.84 millimeters])&lt;br /&gt;Processor  &lt;br /&gt;&lt;br /&gt;View supported processors for the most current list of compatible processors.&lt;br /&gt;&lt;br /&gt;At product launch, this desktop board supports:&lt;br /&gt;&lt;br /&gt;    * Intel® Core™ i7-800 processor series in an LGA1156 socket&lt;br /&gt;    * Intel® Core™ i5-700 processor series in an LGA1156 socket&lt;br /&gt;&lt;br /&gt;Memory  &lt;br /&gt;&lt;br /&gt;    * Four 240-pin DDR3 SDRAM Dual Inline Memory Module (DIMM) sockets&lt;br /&gt;    * Support for DDR3 1600+1/1333/1066 MHz DIMMs&lt;br /&gt;    * Support for up to 16 GBΣ of system memory&lt;br /&gt;&lt;br /&gt;Chipset  &lt;br /&gt;&lt;br /&gt;    * Intel® P55 Express Chipset&lt;br /&gt;&lt;br /&gt;Audio  &lt;br /&gt;&lt;br /&gt;Intel® High Definition Audio◊ subsystem in the following configuration:&lt;br /&gt;&lt;br /&gt;    * 10-channel (7.1+ 2 independent multi-streaming) audio subsystem with five analog audio outputs and two optical S/PDIF digital audio for input and output using the Realtek * ALC889 audio codec&lt;br /&gt;&lt;br /&gt;Video  Nvidia SLI* and ATI CrossFire* technology support enables two graphics cards to work together for ultimate 3D gaming performance and visual quality&lt;br /&gt;LAN support  Intel® PRO 10/100/1000 Network Connection (82578DC)&lt;br /&gt;Peripheral interfaces  &lt;br /&gt;&lt;br /&gt;    * Thirteen USB 2.0 ports (8 external ports, 1 onboard, 2 internal headers)&lt;br /&gt;    * Eight Serial ATA 3.0 Gb/s ports including 2 eSATA ports&lt;br /&gt;    * Two IEEE-1394a ports (1 external port, 1 internal header)&lt;br /&gt;    * Consumer IR receiver and emitter (via internal headers)&lt;br /&gt;    * Integrated Bluetooth Technology Module&lt;br /&gt;&lt;br /&gt;Expansion capabilities  &lt;br /&gt;&lt;br /&gt;    * One primary PCI Express* 2.0 x16 bus add-in card connector&lt;br /&gt;    * One PCI Express* 2.0 x8 bus add-in card connector, bifurcated from the primary PCI Express 2.0 x16&lt;br /&gt;    * One PCI Express* 2.0 x4 connector&lt;br /&gt;    * Two PCI Express* 2.0 x1 connectors&lt;br /&gt;    * Two PCI Conventional bus connectors&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Related products&lt;br /&gt;Processors  &lt;br /&gt;&lt;br /&gt;    * Intel® Core™ i7 processors&lt;br /&gt;    * Intel® Core™ i5 processors&lt;br /&gt;&lt;br /&gt;Chipset  &lt;br /&gt;&lt;br /&gt;    * Intel® P55 Express Chipset</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/2795605722889235732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-desktop-board-dp55kg.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2795605722889235732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/2795605722889235732'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/intel-desktop-board-dp55kg.html' title='Intel® Desktop Board DP55KG'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje1B5nFFkKUj-a3EGwQ2XoDzs6NCo5ho3RowZ9ktPvgrErud_7FEOY10IEhQoAVSwacSGHC1af9nmzAiR-LjOQ4oO7QtW8CCDyzeapoU42lB8lYUfidt2KkjY9q-n2xsI7k6lquWTh6w/s72-c/DP55KG_sm.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-4870729140465976785</id><published>2009-12-04T09:30:00.000-08:00</published><updated>2009-12-04T09:32:43.735-08:00</updated><title type='text'>How to:Configure/Setup Your VPN(server side) on Windows Server 2003 R2</title><content type='html'>Hello everyone, in this short article we will learn how to configure VPN on server side. In this sample I will give quick tutorial (based on real experiment) how to configure/setup VPN server on Windows server 2003 R2 and also the business behind it how to make money from your VPN.&lt;br /&gt;&lt;br /&gt;First before we start please read the requirements:&lt;br /&gt;&lt;br /&gt;   1. Computer with Microsoft windows server 2003 R2 operating system&lt;br /&gt;   2. 2 LAN card, 1 is OK&lt;br /&gt;   3. Static public  IP&lt;br /&gt;&lt;br /&gt;OK, if you meet all the requirements let’s start to configure it.&lt;br /&gt;&lt;br /&gt;1. Start -&gt; Run -&gt; type “services.msc”&lt;br /&gt;&lt;br /&gt;Select Routing and Remote Access from the services list, See it’s Properties switch start-up to Automatic then start this service.&lt;br /&gt;&lt;br /&gt;ist-vpn-1&lt;br /&gt;&lt;br /&gt;2. Start -&gt; Settings -&gt; Control Panel -&gt; Administrative Tools -&gt; Routing and Remote Access.&lt;br /&gt;&lt;br /&gt;3. Right click on the computer then select the option Configure and Enable Remote and Routing Access.&lt;br /&gt;&lt;br /&gt;4. Follow the Configuration Wizard&lt;br /&gt;&lt;br /&gt;    * Click Next&lt;br /&gt;    * From the configuration list select Custom Configuration and hit Next&lt;br /&gt;    * Select VPN Access and NAT and Basic Firewall Option, hit Next&lt;br /&gt;    * Click on Finish tab.&lt;br /&gt;&lt;br /&gt;4. Configure NAT (Network Address Translation)&lt;br /&gt;&lt;br /&gt;    * Go to Routing and Remote Access panel&lt;br /&gt;    * Expand computer name (Local)&lt;br /&gt;    * Expand IP Routing&lt;br /&gt;    * Right Click on NAT/Basic Firewall&lt;br /&gt;    * Use New Interface to add the network translation.&lt;br /&gt;&lt;br /&gt;ist-vpn-2&lt;br /&gt;&lt;br /&gt;5. It’s Done, now your VPN server is ready, the last thing is add user to connect to your VPN by Start -&gt; Run -&gt; Type “lusrmgr.msc“&lt;br /&gt;&lt;br /&gt;ist-vpn-3&lt;br /&gt;&lt;br /&gt;Dude now it’s really done just configure on your client side and you’re connected! Now learn the business behind it, I know not much people are looking for VPN service but if they really need it they will buy it. There is some website out there sell VPN service with high price, said strongvpn.com smallvpn.com you can sell your own VPN and make money from it. Why? Because everything is money (evil laugh) if you know how to managed and optimize it.&lt;br /&gt;&lt;br /&gt;How to get started on this business? to low the cost I recommended you to buy VPS or Dedicated Server then configure/setup your VPN, sell it to people!  you make money and smile :P If you guys/gals need VPS/Dedicated Server fell free to contact me I sold it *lol stop promote yourself*</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/4870729140465976785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/how-toconfiguresetup-your-vpnserver.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4870729140465976785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4870729140465976785'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/how-toconfiguresetup-your-vpnserver.html' title='How to:Configure/Setup Your VPN(server side) on Windows Server 2003 R2'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-8517836712406586212</id><published>2009-12-04T09:28:00.000-08:00</published><updated>2009-12-04T09:29:59.054-08:00</updated><title type='text'>What is Web Hosting</title><content type='html'>If you want to take part in the internet as a business, information resource, directory, or as a hobbyist wanting to share data, information and knowledge with the many people and communities on the internet, you have to contain this in a central spot on the internet. You have to own a piece of space in cyberspace.&lt;br /&gt;&lt;br /&gt;Web hosting empowers you and anyone with a computer and internet connection to own a piece of cyberspace. In your space, you can have news, bulletins, documents, data, files (your web site) and your own post office (mail server) to accept mail, all in the context of you or your business. This is your space and to get this space you either have to own a piece of the physical internet with a network connection to the internet backbone and computer(s) operating as server(s) offering access to your files and post office, for people on the internet to view your web site or send and receive email with you.&lt;br /&gt;&lt;br /&gt;The cost of owning a direct connection to the backbone and a server dedicated to a web site and email is out of reach for the average business and especially general members of the internet. Even running a web site and mail server on your own computer when it is connected to the internet requires a lot of technical ability and knowledge. The internet itself has to be your business for either of these options to be viable.&lt;br /&gt;&lt;br /&gt;In our modern society, for every person in business or with a career in most industries today, it is imperative to have a place in cyberspace, not just to be competitive but to survive. web hosting companies were born out of this great need to provide an environment for the masses to own a piece of cyberspace, to offer an environment where people could have their piece of cyberspace on the internet 24/7 without the great cost. web hosting companies developed a model where they could split up areas on the servers connected to the backbone and ?rent? this space, cutting the costs across many people sharing the server and backbone connection to the internet.&lt;br /&gt;&lt;br /&gt;In a web-hosting environment, you are offered a web site to place your files, data, documents, and bulletins for people to access with their web browser and an email server for you to send and receive email messages. The web host will also provide you a means to get an address for people to get to your web site with a web browser and post email to you.&lt;br /&gt;&lt;br /&gt;To obtain space in a web hosting environment you become a member and agree to terms and conditions of renting the space ? just as if you were to rent a house or commercial premises for your business. Once you agree and become a member, you are given an access code, a key, to your piece of cyberspace. This key, in the form of a login and password, allows you to connect to the web hosting server and up-load (transfer to) your web site so it can be accessed on the internet. Your login and password is also used to connect to a mail server to create and administer mailboxes to send and receive email for you, your staff, or family members.&lt;br /&gt;&lt;br /&gt;Just like when you rent a house or commercial premises for your business, you have so many rooms, bathrooms, and floor space to use. In a web-hosting environment, your area is defined as disk space and network transfer.&lt;br /&gt;&lt;br /&gt;Disk space is measured in Megabytes (MB) or Gigabytes (GB). Megabyte roughly means 1,024,000 characters and Gigabyte roughly means 1,024 Million characters. Imagine a character as one key on your key board. These amounts determine how many files, documents, or data you can have on your web site.&lt;br /&gt;&lt;br /&gt;Network Transfer is also measured in Megabytes or gigabytes which determines how much data (how many of your files, documents or data) can be downloaded (transferred to) people accessing your web site. The more people, or the more data each person accesses on your web site the more data is transferred on the network.&lt;br /&gt;&lt;br /&gt;The more disk space and network transfer you use the greater percentage of the web-hosting environment you are using ? therefore the higher the rent.&lt;br /&gt;&lt;br /&gt;Just as no office building and home is the same, neither is every web-hosting environment. Some offices have stairs, others have lifts, some houses have ensuites, swimming pools, and gardens, ? and others do not. Web-hosting environments are much the same, some offer bare structures to do just the basics and others offer an array of features and facilities to help you do just about everything you could ever need or want. Some of the features and facilities likely to be offered are ranges of software to use, components, databases, and server side script processing.&lt;br /&gt;&lt;br /&gt;The similarity of renting an office or home to renting space in a web-hosting environment is even more similar. With some buildings a gardener and/or a guard is available to look after the gardening or provide security. In a web-hosting environment, you have support people to help you do what you need to do on your web site to make it grow and there are server administrators to protect and secure your web-hosting space.&lt;br /&gt;&lt;br /&gt;When you rent a building there are key parts needed to work or live in the space, like rooms, offices, kitchens, toilets, and bathrooms. In your web-hosting environment, you will find equally important components that are required to make the space workable. The core components in a web-hosting environment are:&lt;br /&gt;&lt;br /&gt;Web Server&lt;br /&gt;&lt;br /&gt;The web server is a relatively simple piece of software that accepts requests over HTTP (Hypertext Transfer Protocol) and delivers HTML pages and Image files.&lt;br /&gt;&lt;br /&gt;FTP Server&lt;br /&gt;&lt;br /&gt;FTP is the means of which a web master can transfer files to and from the server. To put your HTML and image files on a server you will generally use FTP to upload (transfer to) your files to the server running the web server.&lt;br /&gt;&lt;br /&gt;Mail Server&lt;br /&gt;&lt;br /&gt;The mail server consists of two parts POP (Post Office Protocol) and SMTP (Simple Mail Transfer Protocol). POP is where email is received into your mailbox and SMTP is what is used to send and receive email between mail servers.&lt;br /&gt;&lt;br /&gt;Database Server&lt;br /&gt;&lt;br /&gt;If you are using server side scripting on your web server (you use something like Microsoft Internet Information Server) then instead of providing ?static? data only on web pages you can provide data from a database allowing your users to search and view the data in different and dynamic way. Also, a Database server is used to gather data from visitors to your site; orders, feedback, discussions and the like.&lt;br /&gt;&lt;br /&gt;Each one of the above components are software programs running on servers in the web-hosting environment. You can interact with each of these with special software programs you use on your computer. The main ones being:&lt;br /&gt;&lt;br /&gt;Web Browser&lt;br /&gt;&lt;br /&gt;When viewing the web you use a web browser like Internet Explorer. Many web hosting companies provide a ?Control Panel? to administer your web host account, which you use with your web browser. Most allow you to configure most aspects of your account using a simple web browser.&lt;br /&gt;&lt;br /&gt;Web site/page editor&lt;br /&gt;&lt;br /&gt;Today many web servers allow editing of WebPages over HTTP (hypertext transfer protocol) based on Microsoft FrontPage technology. These special editors allow you to essentially look at your web site as if you were using a web browser and edit the pages directly as you see them using WYSWIG (What you see if what you get) technology. Most web hosting environments support this, and if you are starting out, make sure it is available. One tip: make sure the web host providing this really does understand this technology ? it is the main area of which many hacks and security intrusions occur.&lt;br /&gt;&lt;br /&gt;FTP Client&lt;br /&gt;&lt;br /&gt;This is a very simple piece of software that allows you to view the server folders and files in your web host account as if they were files and folders on your own computer. You can then drag and drop files between you computer and your web host account.&lt;br /&gt;&lt;br /&gt;Email Client&lt;br /&gt;&lt;br /&gt;If you are on the internet you would already be using an email client to send and receive your email. The most common are Outlook Express, Eudora and Web based mail clients like Hotmail.&lt;br /&gt;&lt;br /&gt;Database Administration Client&lt;br /&gt;&lt;br /&gt;The most common databases used with web servers are Microsoft SQL Server (available only on Windows) and MySQL (commonly found on Linux and UNIX but also available on Windows). SQL Server comes with it&#39;s own administration client where you can view your databases, edit them, backup data and do all the administration functions you need. MySQL has an active online community where there is a range of administration clients available.&lt;br /&gt;&lt;br /&gt;Choosing a web host is, again, similar to choosing a house to live in or commercial premises to do business. You need to define what it is you require: how much space you need and what features and facilities you need.&lt;br /&gt;&lt;br /&gt;If you have been reading this article because this is new to you, then it is likely at this stage you only need minimal space and basic facilities. Once you have worked with the basic facilities you will learn more and become aware of greater facilities and features and then you can simple move from one web ?hosting environment to another ? paying more or paying less. Moving in cyberspace is much easier, faster, and more seamless than physically moving house or commercial premises.&lt;br /&gt;&lt;br /&gt;Initially you may use the web-hosting environment offered by your ISP (internet Service provider), the company you use to connect to the internet. But remember these companies main business is connecting many thousands of people to the internet ? not managing web hosting environments. You will generally find they offer less than basic facilities and minimal space.&lt;br /&gt;&lt;br /&gt;If you are just starting out with your first web site the first major choice you will be faced with is ?Unix? or ?Windows?. For a person just starting out on the internet, both are equally capable and will offer the facilities you need to have your place in cyberspace.&lt;br /&gt;&lt;br /&gt;If you have a web designer or technical person to help you, you only need to consider how much space you really need. With this simple idea in mind, when you are just starting out, owning your piece of cyberspace will not cost anymore than $8 per month. Many web-hosting companies will offer what you need for as little as $3 per month (usually paid yearly).&lt;br /&gt;&lt;br /&gt;If you are going alone and doing it all yourself you may want to consider an account with a web hosting company that offers and prides itself on it&#39;s support and customer service, 24/7 support access and the experience, knowledge and skill of it&#39;s server administrators. Remember, these are the gardeners and the guards who take care of your environment.&lt;br /&gt;&lt;br /&gt;Web hosting is very simple and straightforward an once you obtain your space in cyberspace you will never want to let it go and you can easily move it where you want as a turtle carries it&#39;s shell on it&#39;s back. Always remember you are not stuck in the first web-hoisting environment you choose.&lt;br /&gt;&lt;br /&gt;Web hosting isyour space in cyberspace and it is imperative to have a place in cyberspace in our modern society, just as it is to have an office to do business.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/8517836712406586212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/what-is-web-hosting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/8517836712406586212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/8517836712406586212'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/what-is-web-hosting.html' title='What is Web Hosting'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-5742567542054952473</id><published>2009-12-04T09:24:00.000-08:00</published><updated>2009-12-04T09:28:33.580-08:00</updated><title type='text'>Web hosting service</title><content type='html'>web hosting service is a type of Internet hosting service that allows individuals and organizations to make their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own or lease for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation.&lt;br /&gt;&lt;br /&gt;Service scope&lt;br /&gt;&lt;br /&gt;The scope of hosting services varies widely. The most basic is web page and small-scale file hosting, where files can be uploaded via File Transfer Protocol (FTP) or a Web interface. The files are usually delivered to the Web &quot;as is&quot; or with little processing. Many Internet service providers (ISPs) offer this service free to their subscribers. People can also obtain Web page hosting from other, alternative service providers. Personal web site hosting is typically free, advertisement-sponsored, or cheap. Business web site hosting often has a higher expense.&lt;br /&gt;&lt;br /&gt;Single page hosting is generally sufficient only for personal web pages. A complex site calls for a more comprehensive package that provides database support and application development platforms (e.g. PHP, Java, Ruby on Rails, ColdFusion, and ASP.NET). These facilities allow the customers to write or install scripts for applications like forums and content management. For e-commerce, SSL is also highly recommended.&lt;br /&gt;&lt;br /&gt;The host may also provide an interface or control panel for managing the Web server and installing scripts as well as other services like e-mail. Some hosts specialize in certain software or services (e.g. e-commerce). They are commonly used by larger companies to outsource network infrastructure to a hosting company.&lt;br /&gt;[edit] Hosting reliability and uptime&lt;br /&gt;Question book-new.svg&lt;br /&gt; This section does not cite any references or sources.&lt;br /&gt;Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (March 2009)&lt;br /&gt;Multiple racks of servers.&lt;br /&gt;&lt;br /&gt;Hosting uptime refers to the percentage of time the host is accessible via the internet. Many providers state that they aim for at least 99.9% uptime (roughly equivalent to 45 minutes of downtime a month, or less), but there may be server restarts and planned (or unplanned) maintenance in any hosting environment, which may or may not be considered part of the official uptime promise.&lt;br /&gt;&lt;br /&gt;Many providers tie uptime and accessibility into their own service level agreement (SLA). SLAs sometimes include refunds or reduced costs if performance goals are not met.&lt;br /&gt;[edit] Types of hosting&lt;br /&gt;A typical server &quot;rack,&quot; commonly seen in colocation centres.&lt;br /&gt;&lt;br /&gt;Internet hosting services can run Web servers; see Internet hosting services.&lt;br /&gt;&lt;br /&gt;Hosting services limited to the Web:&lt;br /&gt;&lt;br /&gt;Many large companies who are not internet service providers also need a computer permanently connected to the web so they can send email, files, etc. to other sites. They may also use the computer as a website host so they can provide details of their goods and services to anyone interested. Additionally these people may decide to place online orders.&lt;br /&gt;&lt;br /&gt;    * Free web hosting service: Free web hosting is offered by different companies with limited services, sometimes advertisement-supported web hosting, and is often limited when compared to paid hosting.&lt;br /&gt;    * Shared web hosting service: one&#39;s website is placed on the same server as many other sites, ranging from a few to hundreds or thousands. Typically, all domains may share a common pool of server resources, such as RAM and the CPU. The features available with this type of service can be quite extensive. A shared website may be hosted with a reseller.&lt;br /&gt;    * Reseller web hosting: allows clients to become web hosts themselves. Resellers could function, for individual domains, under any combination of these listed types of hosting, depending on who they are affiliated with as a provider. Resellers&#39; accounts may vary tremendously in size: they may have their own virtual dedicated server to a collocated server. Many resellers provide a nearly identical service to their provider&#39;s shared hosting plan and provide the technical support themselves.&lt;br /&gt;    * Virtual Dedicated Server: also known as a Virtual Private Server (VPS for short) divides server resources into virtual servers, where resources can be allocated in a way that does not directly reflect the underlying hardware. VPS will often be allocated resources based on a one server to many VPSs relationship, however virtualisation may be done for a number of reasons, including the ability to move a VPS container between servers. The users may have root access to their own virtual space. This is also known as a virtual private server or VPS. Customers are sometimes responsible for patching and maintaining the server.&lt;br /&gt;    * Dedicated hosting service: the user gets his or her own Web server and gains full control over it (root access for Linux/administrator access for Windows); however, the user typically does not own the server. Another type of Dedicated hosting is Self-Managed or Unmanaged. This is usually the least expensive for Dedicated plans. The user has full administrative access to the box, which means the client is responsible for the security and maintenance of his own dedicated box.&lt;br /&gt;    * Managed hosting service: the user gets his or her own Web server but is not allowed full control over it (root access for Linux/administrator access for Windows); however, they are allowed to manage their data via FTP or other remote management tools. The user is disallowed full control so that the provider can guarantee quality of service by not allowing the user to modify the server or potentially create configuration problems. The user typically does not own the server. The server is leased to the client.&lt;br /&gt;    * Colocation web hosting service: similar to the dedicated web hosting service, but the user owns the colo server; the hosting company provides physical space that the server takes up and takes care of the server. This is the most powerful and expensive type of the web hosting service. In most cases, the colocation provider may provide little to no support directly for their client&#39;s machine, providing only the electrical, Internet access, and storage facilities for the server. In most cases for colo, the client would have his own administrator visit the data center on site to do any hardware upgrades or changes.&lt;br /&gt;    * Cloud hosting: is a new type of hosting platform that allows customers powerful, scalable and reliable hosting based on clustered load-balanced servers and utility billing. Removing single-point of failures and allowing customers to pay for only what they use versus what they could use.&lt;br /&gt;    * Clustered hosting: having multiple servers hosting the same content for better resource utilization. Clustered Servers are a perfect solution for high-availability dedicated hosting, or creating a scalable web hosting solution. A cluster may separate web serving from database hosting capability.&lt;br /&gt;    * Grid hosting: this form of distributed hosting is when a server cluster acts like a grid and is composed of multiple nodes.&lt;br /&gt;    * Home server: usually a single machine placed in a private residence can be used to host one or more web sites from a usually consumer-grade broadband connection. These can be purpose-built machines or more commonly old PCs. Some ISPs actively attempt to block home servers by disallowing incoming requests to TCP port 80 of the user&#39;s connection and by refusing to provide static IP addresses. A common way to attain a reliable DNS hostname is by creating an account with a dynamic DNS service. A dynamic DNS service will automatically change the IP address that a URL points to when the IP address changes.&lt;br /&gt;&lt;br /&gt;  Some specific types of hosting provided by web host service providers:&lt;br /&gt;&lt;br /&gt;Obtaining hosting&lt;br /&gt;&lt;br /&gt;Web hosting is often provided as part of a general Internet access plan; there are many free and paid providers offering these services.&lt;br /&gt;&lt;br /&gt;A customer needs to evaluate the requirements of the application to choose what kind of hosting to use. Such considerations include database server software, scripting software, and operating system. Most hosting providers provide Linux-based web hosting which offers a wide range of different software. A typical configuration for a Linux server is the LAMP platform: Linux, Apache, MySQL, and PHP/Perl/Python. The webhosting client may want to have other services, such as email for their business domain, databases or multi-media services for streaming media. A customer may also choose Windows as the hosting platform. The customer still can choose from PHP, Perl, and Python but may also use ASP .Net or Classic ASP.&lt;br /&gt;&lt;br /&gt;Web hosting packages often include a Web Content Management System, so the end-user doesn&#39;t have to worry about the more technical aspects. These Web Content Management systems are great for the average user, but for those who want more control over their website design, this feature may not be adequate. You can always use any content management system on your servers and modify them at your will. A few good examples include wordpress, Joomla, Drupal and mediawiki.&lt;br /&gt;&lt;br /&gt;One may also search the Internet to find active webhosting message boards and forums that may provide feedback on what type of webhosting company may suit his/her needs.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/5742567542054952473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/web-hosting-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/5742567542054952473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/5742567542054952473'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/web-hosting-service.html' title='Web hosting service'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-6176483603619950962</id><published>2009-12-04T09:23:00.000-08:00</published><updated>2009-12-04T09:24:18.139-08:00</updated><title type='text'>Domain Name Server (DNS) Configuration and Administration</title><content type='html'>At my place of employment, we are using Linux as a DNS server. It performs exceptionally well. This section will address configuration of DNS tables for these services using the BIND 8.x package which comes standard with the Red Hat distribution.&lt;br /&gt;&lt;br /&gt;    Note: Note: Red Hat versions 5.1 and earlier used the BIND 4.x package, which used a slightly different format for its configuration file. BIND 8.x offers more functionality over that offered by BIND 4.x, and as 4.x is no longer being developed, you should probably consider upgrading your BIND package to the latest version. Simply install the BIND RPM package (see Section 10.1 for details on using the RPM utility), then convert your configuration file to the new format.&lt;br /&gt;&lt;br /&gt;    Fortunately, converting your existing BIND 4.x configuration file to be compliant with BIND 8.x is easy! In the documentation directory provided as part of BIND (for example, ``/usr/doc/bind-8.1.2/&#39;&#39; for BIND version 8.1.2), there exists a file called ``named-bootconf.pl&#39;&#39;, which is an executable Perl program. Assuming you have Perl installed on your system, you can use this program to convert your configuration file. To do so, type the following commands (as root):&lt;br /&gt;&lt;br /&gt;    cd /usr/doc/bind-8.1.2&lt;br /&gt;    ./named-bootconf.pl &lt; /etc/named.boot &gt; /etc/named.conf&lt;br /&gt;    mv /etc/named.boot /etc/named.boot-obsolete&lt;br /&gt;&lt;br /&gt;    You should now have an ``/etc/named.conf&#39;&#39; file which should work with BIND 8.x &quot;out-of-the-box&quot;. Your existing DNS tables will work as-is with the new version of BIND, as the format of the tables remains the same.&lt;br /&gt;&lt;br /&gt;Configuration of DNS services under Linux involves the following steps:&lt;br /&gt;&lt;br /&gt;   1.&lt;br /&gt;&lt;br /&gt;      To enable DNS services, the ``/etc/host.conf&#39;&#39; file should look like this:&lt;br /&gt;&lt;br /&gt;      # Lookup names via /etc/hosts first, then by DNS query&lt;br /&gt;      order hosts, bind&lt;br /&gt;      # We don&#39;t have machines with multiple addresses&lt;br /&gt;      multi on&lt;br /&gt;      # Check for IP address spoofing&lt;br /&gt;      nospoof on&lt;br /&gt;      # Warn us if someone attempts to spoof&lt;br /&gt;      alert on&lt;br /&gt;&lt;br /&gt;      The extra spoof detection adds a bit of a performance hit to DNS lookups (although negligible), so if you&#39;re not too worried about this you may wish to disable the &quot;nospool&quot; and &quot;alert&quot; entries.&lt;br /&gt;   2.&lt;br /&gt;&lt;br /&gt;      Configure the ``/etc/hosts&#39;&#39; file as needed. Typically there doesn&#39;t need to be much in here, but for improved performance you can add any hosts you access often (such as local servers) to avoid performing DNS lookups on them.&lt;br /&gt;   3.&lt;br /&gt;&lt;br /&gt;      The ``/etc/named.conf&#39;&#39; file should be configured to point to your DNS tables according to the example below.&lt;br /&gt;&lt;br /&gt;          Note: (Note: IP addresses shown are examples only and must be replaced with your own class addresses!):&lt;br /&gt;&lt;br /&gt;      options {&lt;br /&gt;       // DNS tables are located in the /var/named directory&lt;br /&gt;       directory &quot;/var/named&quot;;&lt;br /&gt;&lt;br /&gt;       // Forward any unresolved requests to our ISP&#39;s name server&lt;br /&gt;       // (this is an example IP address only -- do not use!)&lt;br /&gt;       forwarders {&lt;br /&gt;        123.12.40.17;&lt;br /&gt;       };&lt;br /&gt;&lt;br /&gt;       /*&lt;br /&gt;        * If there is a firewall between you and nameservers you want&lt;br /&gt;        * to talk to, you might need to uncomment the query-source&lt;br /&gt;        * directive below.  Previous versions of BIND always asked&lt;br /&gt;        * questions using port 53, but BIND 8.1 uses an unprivileged&lt;br /&gt;        * port by default.&lt;br /&gt;        */&lt;br /&gt;       // query-source address * port 53;&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;      // Enable caching and load root server info&lt;br /&gt;      zone &quot;named.root&quot; {&lt;br /&gt;       type hint;&lt;br /&gt;       file &quot;&quot;;&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;      // All our DNS information is stored in /var/named/mydomain_name.db&lt;br /&gt;      // (eg. if mydomain.name = foobar.com then use foobar_com.db)&lt;br /&gt;      zone &quot;mydomain.name&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;mydomain_name.db&quot;;&lt;br /&gt;       allow-transfer { 123.12.41.40; };&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;      // Reverse lookups for 123.12.41.*, .42.*, .43.*, .44.* class C&#39;s&lt;br /&gt;      // (these are example Class C&#39;s only -- do not use!)&lt;br /&gt;      zone &quot;12.123.IN-ADDR.ARPA&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;123_12.rev&quot;;&lt;br /&gt;       allow-transfer { 123.12.41.40; };&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;      // Reverse lookups for 126.27.18.*, .19.*, .20.* class C&#39;s&lt;br /&gt;      // (these are example Class C&#39;s only -- do not use!)&lt;br /&gt;      zone &quot;27.126.IN-ADDR.ARPA&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;126_27.rev&quot;;&lt;br /&gt;       allow-transfer { 123.12.41.40; };&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;          Tip: Tip: Make note of the allow-transfer options above, which restricts DNS zone transfers to a given IP address. In our example, we are allowing the host at 123.12.41.40 (probably a slave DNS server in our domain) to request zone transfers. If you omit this option, anyone on the Internet will be able to request such transfers. As the information provided is often used by spammers and IP spoofers, I strongly recommend you restrict zone transfers except to your slave DNS server(s), or use the loopback address, ``127.0.0.1&#39;&#39; instead.&lt;br /&gt;&lt;br /&gt;   4.&lt;br /&gt;&lt;br /&gt;      Now you can set up your DNS tables in the ``var/named/&#39;&#39; directory as configured in the ``/etc/named.conf&#39;&#39; file in step three. Configuring DNS database files for the first time is a major undertaking, and is beyond the scope of this document. There are several guides, online and in printed form that should be referred to. However, several examples are provided below.&lt;br /&gt;&lt;br /&gt;      Sample entries in the ``/var/named/mydomain_name.db&#39;&#39; forward lookup file:&lt;br /&gt;&lt;br /&gt;      ; This is the Start of Authority (SOA) record.  Contains contact&lt;br /&gt;      ; &amp; other information about the name server.  The serial number&lt;br /&gt;      ; must be changed whenever the file is updated (to inform secondary&lt;br /&gt;      ; servers that zone information has changed).&lt;br /&gt;          @ IN SOA mydomain.name.  postmaster.mydomain.name. (&lt;br /&gt;       19990811 ; Serial number&lt;br /&gt;       3600  ; 1 hour refresh&lt;br /&gt;       300  ; 5 minutes retry&lt;br /&gt;       172800  ; 2 days expiry&lt;br /&gt;       43200 )  ; 12 hours minimum&lt;br /&gt;&lt;br /&gt;      ; List the name servers in use.  Unresolved (entries in other zones)&lt;br /&gt;      ; will go to our ISP&#39;s name server isp.domain.name.com&lt;br /&gt;       IN NS  mydomain.name.&lt;br /&gt;       IN NS  isp.domain.name.com.&lt;br /&gt;&lt;br /&gt;      ; This is the mail-exchanger.  You can list more than one (if&lt;br /&gt;      ; applicable), with the integer field indicating priority (lowest&lt;br /&gt;      ; being a higher priority)&lt;br /&gt;       IN MX  mail.mydomain.name.&lt;br /&gt;&lt;br /&gt;      ; Provides optional information on the machine type &amp; operating system&lt;br /&gt;      ; used for the server&lt;br /&gt;       IN HINFO Pentium/350 LINUX&lt;br /&gt;&lt;br /&gt;      ; A list of machine names &amp; addresses&lt;br /&gt;          spock.mydomain.name.    IN A    123.12.41.40   ; OpenVMS Alpha&lt;br /&gt;          mail.mydomain.name.     IN A    123.12.41.41   ; Linux (main server)&lt;br /&gt;          kirk.mydomain.name.     IN A    123.12.41.42   ; Windows NT (blech!)&lt;br /&gt;&lt;br /&gt;      ; Including any in our other class C&#39;s&lt;br /&gt;          twixel.mydomain.name.   IN A    126.27.18.161  ; Linux test machine&lt;br /&gt;          foxone.mydomain.name.   IN A    126.27.18.162  ; Linux devel. kernel&lt;br /&gt;&lt;br /&gt;      ; Alias (canonical) names&lt;br /&gt;          gopher IN CNAME mail.mydomain.name.&lt;br /&gt;          ftp  IN CNAME mail.mydomain.name.&lt;br /&gt;          www  IN CNAME mail.mydomain.name.&lt;br /&gt;&lt;br /&gt;      Sample entries in the ``/var/named/123_12.rev&#39;&#39; reverse lookup file:&lt;br /&gt;&lt;br /&gt;      ; This is the Start of Authority record.  Same as in forward lookup table.&lt;br /&gt;          @ IN SOA mydomain.name.  postmaster.mydomain.name. (&lt;br /&gt;       19990811 ; Serial number&lt;br /&gt;       3600  ; 1 hour refresh&lt;br /&gt;       300  ; 5 minutes retry&lt;br /&gt;       172800  ; 2 days expiry&lt;br /&gt;       43200 )  ; 12 hours minimum&lt;br /&gt;&lt;br /&gt;      ; Name servers listed as in forward lookup table&lt;br /&gt;       IN NS  mail.mydomain.name.&lt;br /&gt;       IN NS  isp.domain.name.com.&lt;br /&gt;&lt;br /&gt;      ; A list of machine names &amp; addresses, in reverse.  We are mapping&lt;br /&gt;      ; more than one class C here, so we need to list the class B portion&lt;br /&gt;      ; as well.&lt;br /&gt;          40.41 IN PTR    spock.mydomain.name.&lt;br /&gt;          41.41 IN PTR    mail.mydomain.name.&lt;br /&gt;          42.41 IN PTR    kirk.mydomain.name.&lt;br /&gt;&lt;br /&gt;      ; As you can see, we can map our other class C&#39;s as long as they are&lt;br /&gt;      ; under the 123.12.* class B addresses&lt;br /&gt;          24.42 IN PTR    tsingtao.mydomain.name.&lt;br /&gt;          250.42 IN PTR    redstripe.mydomain.name.&lt;br /&gt;          24.43 IN PTR    kirin.mydomain.name.&lt;br /&gt;          66.44 IN PTR    sapporo.mydomain.name.&lt;br /&gt;&lt;br /&gt;      ; No alias (canonical) names should be listed in the reverse lookup&lt;br /&gt;      ; file (for obvious reasons).&lt;br /&gt;&lt;br /&gt;      Any other reverse lookup files needed to map addresses in a different class B (such as 126.27.*) can be created, and would look much the same as the example reverse lookup file above.&lt;br /&gt;   5.&lt;br /&gt;&lt;br /&gt;      Make sure the named daemon is running. This daemon is usually started from the ``/etc/rc.d/init.d/named&#39;&#39; file upon system boot. You can also start and stop the daemon manually; type ``named start&#39;&#39; and ``named stop&#39;&#39;, respectively.&lt;br /&gt;   6.&lt;br /&gt;&lt;br /&gt;      Whenever changes are made to the DNS tables, the DNS server should be restarted by typing ``/etc/rc.d/init.d/named restart&#39;&#39;. You may then wish to test your changes by using a tool such as &quot;nslookup&quot; to query the machine you have added or changed.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/6176483603619950962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/domain-name-server-dns-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/6176483603619950962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/6176483603619950962'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/domain-name-server-dns-configuration.html' title='Domain Name Server (DNS) Configuration and Administration'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-4014398833953013118</id><published>2009-12-04T09:21:00.000-08:00</published><updated>2009-12-04T09:23:06.548-08:00</updated><title type='text'>Server and Domain Isolation</title><content type='html'>Server and Domain Isolation&lt;br /&gt;&lt;br /&gt;With the explosive growth and adoption of pervasive, highly-connected networks, administrators are faced with a potentially paradoxical situation: to provide greater accessibility while maintaining security. Even though more ubiquitous connectivity can yield numerous business benefits—like productivity gains and operational cost savings—it has the potential to introduce new risks to the organization’s networked infrastructure. This can include costly virus attacks, rogue users and devices, and unauthorized access to sensitive information.&lt;br /&gt;&lt;br /&gt;A Server and Domain Isolation solution based on Microsoft Windows Internet Protocol security (IPsec) and the Active Directory directory service enables administrators to dynamically segment their Windows environment into more secure and isolated logical networks based on policy and without costly changes to their network infrastructure or applications. This creates an additional layer of policy-driven protection, and helps better protect against costly network attacks, helps prevent unauthorized access to trusted networked resources, achieve regulatory compliance, and reduce operational costs.&lt;br /&gt;&lt;br /&gt;Server and Domain Isolation&lt;br /&gt;&lt;br /&gt;Figure 1: Server and Domain Isolation&lt;br /&gt;View full-size image&lt;br /&gt;Overview Resources&lt;br /&gt;&lt;br /&gt;    * Introduction to Server and Domain Isolation&lt;br /&gt;      This document describes how using Server and Domain Isolation can provide additional security for network traffic and resources; decrease your exposure to network attacks based on viruses, worms, and malicious users; and adhere to requirements to secure and encrypt data traffic.&lt;br /&gt;    * Server and Domain Isolation Datasheet&lt;br /&gt;      Learn more about how Server and Domain Isolation can help you reduce the risk of network-based threats and safeguard sensitive data, all while maximizing your existing information technology (IT) investments.&lt;br /&gt;    * Server Isolation with Microsoft Windows Explained&lt;br /&gt;      This white paper provides a detailed overview of server isolation. It explains how server isolation protects isolated servers and the benefits of deploying server isolation. It also provides a brief overview of how to deploy server isolation .&lt;br /&gt;    * Domain Isolation with Microsoft Windows Explained&lt;br /&gt;      This white paper provides a detailed overview of domain isolation. It explains how domain isolation protects domain member computers and the benefits of deploying domain isolation. It also provides a brief overview of how to deploy domain isolation.&lt;br /&gt;    * TechNet Webcast: Protecting Critical Systems and Data with Server and Domain Isolation&lt;br /&gt;      This webcast details how Server and Domain Isolation can be leveraged by customers using Windows XP, Windows Server 2003, or Windows 2000. This webcast also explains the roadmap for future uses of IPsec, including its use as an enforcement method for Network Access Protection.&lt;br /&gt;&lt;br /&gt;Demos and Solution Evaluation Resources&lt;br /&gt;&lt;br /&gt;    * Server and Domain Isolation Demo&lt;br /&gt;      Get hands-on experience with Server and Domain Isolation for Windows XP and Windows Server 2003, and learn how this cost-effective end-point authentication solution can help you reduce the risk of network-based threats and safeguard sensitive data.&lt;br /&gt;&lt;br /&gt;Case Studies&lt;br /&gt;&lt;br /&gt;    * Major Japanese Municipal Principal Government Achieves Security Compliance at Nil Cost&lt;br /&gt;      Learn more about how the City of Sapporo, Japan, with 12,000 users working in almost 870 departments, implemented Server and Domain Isolation for cost-effective end-point authentication. The solution has improved information security and reduced the risk of unauthorized access to confidential data on the organization’s Intranet.&lt;br /&gt;    * Improving Security with Domain Isolation: Microsoft IT Implements IPsec&lt;br /&gt;      This article describes how Microsoft IT is using IPsec to deploy Domain Isolation on the Microsoft global enterprise network.&lt;br /&gt;&lt;br /&gt;Deployment Resources&lt;br /&gt;&lt;br /&gt;    * Step-by-Step Guide to Deploying Policies for Windows Firewall with Advanced Security&lt;br /&gt;      This step-by-step guide illustrates how to deploy Active Directory Group Policy objects (GPOs) to configure Windows Firewall with Advanced Security in Windows Vista and Windows Server 2008. You get hands-on experience in a lab environment using Group Policy Management tools to create and edit GPOs that implement typical firewall settings. You also configure GPOs to implement common server and domain isolation scenarios.&lt;br /&gt;    * Server and Domain Isolation Using IPsec and Group Policy&lt;br /&gt;      This Microsoft Solutions guide describes how to deploy server isolation to ensure that a server accepts network connections only from trusted domain members or a specific group of domain members, and domain isolation to isolate domain members from untrusted connections.&lt;br /&gt;    * Simple Policy Update for Windows Server 2003 and Windows XP&lt;br /&gt;      This update for Windows Server 2003 and Windows XP helps simplify the creation and maintenance of IP filters in IPsec policy, reducing the number of filters that are required for a Server and Domain Isolation deployment. The Simple Policy update removes the requirement for explicit network infrastructure permit filters and introduces enhanced fallback to clear behavior.&lt;br /&gt;    * Simplifying IPsec Policy with the Simple Policy Update&lt;br /&gt;      This article describes how the Simple Policy Update for Windows Server 2003 and Windows XP helps simplify policy creation and maintenance for Server and Domain Isolation deployments.&lt;br /&gt;    * Domain Isolation Planning Guide for IT Managers&lt;br /&gt;      This white paper includes an overview of the deployment process, a step-by-step guide to the planning process, and links to resources that you can use to plan and design your deployment. It does not explain how to deploy domain isolation.&lt;br /&gt;    * A Guide to Domain Isolation for Security Architects&lt;br /&gt;      This white paper describes the implications of deploying domain isolation in an enterprise environment and explains how to assess the enterprise environment and plan domain isolation.&lt;br /&gt;    * Setting up IPsec Server and Domain Isolation in a Test Lab&lt;br /&gt;      This white paper demonstrates how to set up IPsec Server and Domain Isolation in a limited test environment. It provides procedures for setting up a basic deployment, which you can use as the basis for your own deployment.&lt;br /&gt;    * Interoperability Considerations for IPsec Server and Domain Isolation&lt;br /&gt;      This white paper describes interoperability between IPsec-protected hosts running Windows Server 2003, Windows XP with Service Pack 2 (SP2), and Windows 2000 Server with Service Pack 4 (SP4) in a Server or Domain Isolation scenario and hosts that cannot use IPsec, including computers running earlier versions of Windows or non-Microsoft operating systems.&lt;br /&gt;    * Managing Intra-Windows Compatibility for IPsec&lt;br /&gt;      This white paper includes information about managing IPsec compatibility among the IPsec-capable Windows operating systems.&lt;br /&gt;    * How to Isolate Servers using Internet Protocol Security&lt;br /&gt;      This TechNet Support webcast describes how to use IPsec to isolate and help protect Microsoft Windows servers in an Active Directory environment.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/4014398833953013118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/server-and-domain-isolation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4014398833953013118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4014398833953013118'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/server-and-domain-isolation.html' title='Server and Domain Isolation'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-4620329008720512917</id><published>2009-12-04T09:20:00.000-08:00</published><updated>2009-12-04T09:21:50.037-08:00</updated><title type='text'>Domain Name Service DNS Setup &amp; Configuration in Unix</title><content type='html'>1.0 Introduction&lt;br /&gt;&lt;br /&gt;s . Domain name system is a  hierarchical   system  where we have a top level domain serving sub domain and clients with names &amp; ip address.&lt;br /&gt;&lt;br /&gt;The system that runs the name services to resolve names into ipaddresses is called name server and the sofware  is generally BIND (Berkley Internet Domain)  .&lt;br /&gt;&lt;br /&gt;Core process of DNS is a daemon called named . Depending on the role assigned the name servers can be a primary, secondry or caching only. Secondry server takes over when primary is down and is updated automatically . Caching server provide only the caching information  to the clients &lt;br /&gt;&lt;br /&gt;Each of domain or sub domain have information (in zone files or data files)  about its clients   and  is  called authorative for these clients . For other clients for which it doesn&#39;t have any information or it is not   authorative  ,  it passes query to its higher domain .&lt;br /&gt;&lt;br /&gt;The client knows about their name servers through a file called resolve.conf  which contains addresses of   the name servers (Primary secondary and Caching) along with their domain name.&lt;br /&gt;&lt;br /&gt;The main files in serve are named.conf  which contains  server parameters and reference to other data files containing client information.&lt;br /&gt;&lt;br /&gt;2.0 Requirements :&lt;br /&gt;&lt;br /&gt;1)  BIND (Berkely Internet Domain)  software . Source code can be downloaded and compiled for your platform from internet at  www.isc.org  However BIND may be available in precompiled version along with OS so check your OS if it is already there . The situation you may want to compile from source code is that you want to cutomize it differently by giving different configuration options at compiling time&lt;br /&gt;&lt;br /&gt;2)  Root cache file from internic  at ftp://internic.com/pub/root&lt;br /&gt;&lt;br /&gt;3) C Compiler  to compile the bind source  distribution .&lt;br /&gt;&lt;br /&gt;3.0 Installation and configuration&lt;br /&gt;&lt;br /&gt;Download the BIND software from from www.isc.org if you want to build it from source code.&lt;br /&gt;Make a directory to store and compile dns disyribution source say  /usr/dns/src &lt;br /&gt;Unzip the distribution  using gzip  command&lt;br /&gt;     &lt;br /&gt;#gzip -d bind-9.2.5.tar.gz&lt;br /&gt;unpack using tar&lt;br /&gt;#tar  xvf   bind-9.2.5.tar&lt;br /&gt;compilation require a c compiler if you don&#39;t have one you can download from gnu site (www.gnu.org).&lt;br /&gt;#./configure&lt;br /&gt;#make&lt;br /&gt;#make install&lt;br /&gt;make install   will ultimately place named , configuration file  named.conf  and related commands in  /etc and   /usr/local/bin directory .&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;4.0 named.conf file&lt;br /&gt;This is the main configuration file in BIND  which defines the name servers  and zones with the name and ip address of the hosts.&lt;br /&gt;&lt;br /&gt;The named.conf has a number of options for starting the name server which can be configured as per requirement  .A list of  complete options can be seen using  man named command.&lt;br /&gt;&lt;br /&gt;By default you will find zone files for local host   by the name localhost and  127.0.0.in-addr.arpa . For additional zones you need to create the   the files and put a reference in  named.conf  .&lt;br /&gt;&lt;br /&gt;Below is a basic functional named.conf file which is installed after the BIND 8..2.P5 is installed This can be used   for starting name server , all you  need to do is to put your hosts entries in the zone files  referenced here .You will  find explanation of terms used in this  configuration file  after this listing of named.conf.  &lt;br /&gt;&lt;br /&gt;// This is a configuration file for named (from BIND 8.1 or later).&lt;br /&gt;// It would normally be installed as /etc/named.conf.&lt;br /&gt; &lt;br /&gt;options { directory &quot;/var/named&quot;;&lt;br /&gt;    check-names master warn; /* default. */&lt;br /&gt;    datasize 20M;&lt;br /&gt;    deallocate-on-exit yes;&lt;br /&gt;    listen-on {10.20.30.100;&lt;br /&gt;              };&lt;br /&gt;    forward first;&lt;br /&gt;       };&lt;br /&gt;zone &quot;localhost&quot; IN {&lt;br /&gt;    type master;&lt;br /&gt;    file &quot;/var/named/localhost.zone&quot;;&lt;br /&gt;    check-names fail;&lt;br /&gt;    allow-update { none; };&lt;br /&gt;    allow-transfer { any; };&lt;br /&gt;    };&lt;br /&gt;zone &quot;0.0.127.in-addr.arpa&quot; IN {&lt;br /&gt;    type master;&lt;br /&gt;    file &quot;/var/named/127.0.0.zone&quot;;&lt;br /&gt;    check-names fail;&lt;br /&gt;    allow-update { none; };&lt;br /&gt;    allow-transfer { any; };&lt;br /&gt;    };&lt;br /&gt;zone &quot;.&quot; IN {&lt;br /&gt;    type hint;&lt;br /&gt;    file &quot;/var/named/root.hint&quot;;&lt;br /&gt;    };&lt;br /&gt;logging {&lt;br /&gt;    channel xfer-log {&lt;br /&gt;    file &quot;/var/tmp/bind-xfer.log&quot; versions unlimited size 10m;&lt;br /&gt;    print-category yes;&lt;br /&gt;    print-severity yes;&lt;br /&gt;    print-time yes;&lt;br /&gt;    severity info;&lt;br /&gt;     };&lt;br /&gt;    category xfer-in { xfer-log; };&lt;br /&gt;    category xfer-out { xfer-log; };&lt;br /&gt;    category notify { xfer-log; }&lt;br /&gt;&lt;br /&gt;category load { xfer-log; };&lt;br /&gt;    };&lt;br /&gt;zone &quot;30.20.10.in-addr.arpa&quot; IN {&lt;br /&gt;    type master;&lt;br /&gt;    file &quot;/var/named/100.30.20.10.zone&quot;;&lt;br /&gt;    check-names fail;&lt;br /&gt;    allow-update { none; };&lt;br /&gt;    allow-transfer { any; };&lt;br /&gt;    };&lt;br /&gt;zone &quot;mydomain.com&quot; {&lt;br /&gt;    type master;&lt;br /&gt;    file &quot;/var/named/mydomain.com.hosts&quot;;&lt;br /&gt;    };&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Explanation of the terms used in named.conf above&lt;br /&gt;&lt;br /&gt;4.1 options statement&lt;br /&gt; The options lists working directory for the named - the name server daemon to read the configurations files and port to listen on (default is port 53)  .&lt;br /&gt; &lt;br /&gt;{ directory &quot;/var/named&quot;;&lt;br /&gt;&lt;br /&gt;This directive defines the working dir of the name server where main configuration file named.conf will be located  &lt;br /&gt;&lt;br /&gt;check-names master warn; /* default. */&lt;br /&gt;&lt;br /&gt;The ``check-names&#39;&#39; directive tells BIND to check names in master zone  and give a warning   in system&#39;s  log files if there is any discrepancy. Names are considered good if they match RFC 952&#39;s expectations (if they are host names), or if they consist only of printable ASCII characters (if they are not host names).&lt;br /&gt;&lt;br /&gt;Other options are fail and ignore in that case bind will follow these directives&lt;br /&gt;&lt;br /&gt;datasize 20M;&lt;br /&gt;&lt;br /&gt;datasize The maximum amount of data memory the server may&lt;br /&gt;use. The default is system dependent.&lt;br /&gt;&lt;br /&gt;deallocate-on-exit yes;&lt;br /&gt;&lt;br /&gt;deallocate the memory on exit  otherwise it will be left to os to clear the memory.&lt;br /&gt;&lt;br /&gt;listen-on {10.20.30.100}; &lt;br /&gt;&lt;br /&gt;Host address and port for listening ; if port is not mentioned it is default 53.&lt;br /&gt;&lt;br /&gt;forward first&lt;br /&gt;&lt;br /&gt;Forwarding&lt;br /&gt;Forwarding is can be used for  two main scenario &lt;br /&gt;1. Creating a large site wide cache on different servers thereby  using less network bandwidth.&lt;br /&gt;2. For servers which do not have a direct access to the internet  but have to lookup for the external names.&lt;br /&gt;Forwarding occurs only for names for which the server is not authoritative, and it does not have the answer in its cache.&lt;br /&gt;forward&lt;br /&gt;This option specify where to query the name first   - &#39;first&#39;  directive  will cause query to send to  forwarder  first  and check itself if it fails .&#39;Only&#39;  - directive will query the forwarders only .&lt;br /&gt;forwarders&lt;br /&gt;Specifies the IP addresses to be used for forwarding. The default is no forwarding .&lt;br /&gt;&lt;br /&gt;4.2 Zones  statements&lt;br /&gt;&lt;br /&gt;zone &quot;localhost&quot; IN {&lt;br /&gt;    type master;&lt;br /&gt;    file &quot;/var/named/localhost.zone&quot;;&lt;br /&gt;    check-names fail;&lt;br /&gt;    allow-update { none; };&lt;br /&gt;    allow-transfer { any; };&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt; Zone  statement    declares  a   zone name ,  its type  - master , slave  or  stub , files  containing the zone  data .and options relating to zone - update , checking , transfer etc.&lt;br /&gt;&lt;br /&gt;localhost  and  0.0.127.in-addr.arpa  are default for the localhost and points to file of this name &lt;br /&gt;&lt;br /&gt;Zone types   &lt;br /&gt;&lt;br /&gt;There are three types of zone  .&lt;br /&gt;&lt;br /&gt;master   : This is the  master copy of the data in a zone.&lt;br /&gt;slave - This is a replica of a master zone. The masters list specifies one or more IP addresses that the slave contacts to update its copy of the zone. If file is specified, then the replica will be written to the file. Use of file is recommended, since it often speeds server startup and&lt;br /&gt;eliminates a needless waste of bandwidth.&lt;br /&gt;stub - A stub zone is like a slave zone, except that it replicates only the NS records of a master zone instead of the entire zone.&lt;br /&gt;hint - The initial set of root name servers is specified  using a hint zone. When the server starts up, it&lt;br /&gt;uses the root hints to find a root name server and get the most recent list of root name servers.&lt;br /&gt;&lt;br /&gt;previous releases of BIND used the term primary for a master zone, secondary for a slave&lt;br /&gt;zone, and cache for a hint zone.&lt;br /&gt;&lt;br /&gt;Zone  Directives&lt;br /&gt;&lt;br /&gt;allow-update&lt;br /&gt;Specifies which hosts are allowed to submit dynamic DNS updates to the server. The default is to deny updates from all hosts.&lt;br /&gt;allow-transfer&lt;br /&gt;Specifies which hosts are allowed to receive zone transfers from the server. allow-transfer may also be specified in the zone section, in which case it overrides the options allow-transfer statement. If not specified, the default is to allow transfers from all hosts.&lt;br /&gt;zone &quot;.&quot;  refers to the root file for the domains - and contains references to the root servers at network solutions to resolve the names which are beyond the current domain . you can download  the root cache file from ftp://internic.com/pub/root&lt;br /&gt;&lt;br /&gt;4.3 Logging statement&lt;br /&gt;&lt;br /&gt;logging {&lt;br /&gt;    channel xfer-log {&lt;br /&gt;    file &quot;/var/tmp/bind-xfer.log&quot; versions unlimited size 10m;&lt;br /&gt;    print-category yes;&lt;br /&gt;    print-severity yes;&lt;br /&gt;    print-time yes;&lt;br /&gt;    severity info;&lt;br /&gt;     };&lt;br /&gt;&lt;br /&gt;The logging statement specifies  logging channel/s  which logs various categories of messages . In statement above a channel xfer-log - a user defined name , is defined. Each time name server is started it starts writing to the defined log file , size limits the maximum size of log file and once the limit is reached it stops writing the file. Each   individual start or restart of named causes a new version of log file to be created. Version statement defines how many  versions are allowed for the log file , unlimited option will allow any number of version, &lt;br /&gt;&lt;br /&gt;Only one logging statement is used to  define as many channels and categories as are wanted. If there are multiple logging statements in a configuration, the first   definition  determines the logging  and  warnings are issued for the other logging statements . &lt;br /&gt;&lt;br /&gt;If there is no logging statement, the default logging configuration is used which is&lt;br /&gt;&lt;br /&gt;logging {&lt;br /&gt;category default { default syslog; default_debug;};&lt;br /&gt;category panic  { default syslog; default_stderr;};&lt;br /&gt;category packet { default_debug;};&lt;br /&gt;category eventlib { default_debug;};&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;The default debug file is named.run .&lt;br /&gt;&lt;br /&gt;Channel Phrase&lt;br /&gt;&lt;br /&gt;All log output goes to one or more &quot;channels&quot;; you can make as many of them as you want. Every channel definition must include a clause that says whether messages selected for the channel go to a file, to a particular syslog facility, or are discarded. It can optionally also limit the message severity level that will be accepted by the channel (default is &quot;info&quot;), and whether to include a named-generated time stamp, the category name and/or severity level (default is not to include any). &lt;br /&gt;&lt;br /&gt;The word null as the destination option for the channel will  cause all messages sent to it to be discarded; other options for the channel are meaningless.&lt;br /&gt;&lt;br /&gt;The file clause defines size and versions of the file  which will be  saved each time the file is opened. if the  file ever exceeds the size, then named will just not write anything more to it . The default behavior is to not limit the size of  the file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As per selection the log messages will either  go to  syslog() or a file and severity level determines which type of  messages goes there . Default severity level is  info. and it can be critical , error , debug and dynamic.&lt;br /&gt;&lt;br /&gt;Note that only syslog messages can go to syslog  . &lt;br /&gt;&lt;br /&gt;Print-time  , print-category  -  logs  the time &amp;  category of the messages . The print- options can be  used in any combination but  will always be printed in the following order: time, category, severity. &lt;br /&gt;&lt;br /&gt;category xfer-in { xfer-log; };&lt;br /&gt;category xfer-out { xfer-log; };&lt;br /&gt;category notify { xfer-log; }&lt;br /&gt;&lt;br /&gt;These directives put diffrent categories  of log messages in to xfer-log channel  &lt;br /&gt;&lt;br /&gt;Category option mentions the category of the log and file name for logging&lt;br /&gt;&lt;br /&gt;logging {&lt;br /&gt;    channel xfer-log {&lt;br /&gt;    file &quot;/var/tmp/bind-xfer.log&quot; versions unlimited size 10m;&lt;br /&gt;    print-category yes;&lt;br /&gt;    print-severity yes;&lt;br /&gt;    print-time yes;&lt;br /&gt;    severity info;&lt;br /&gt;     };&lt;br /&gt;&lt;br /&gt;this defines a channel called xfer-log with various options.    &lt;br /&gt;&lt;br /&gt;these categories directs  various types of logs into the channel     &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5.0 ZONE files&lt;br /&gt;&lt;br /&gt;Zone files are used to define the name and ip addresses of the  hosts in a domain .Generally two  zone files are defined for a  particular  zone  - one file maps  the the name to  the ipaddress of the host  machines and other is used for reverse lookup i.e. ipaddress to name .address   .&lt;br /&gt;&lt;br /&gt;Each master zone file should begin with an SOA  (Start of Authority)   record for&lt;br /&gt;the zone. The SOA specifies a serial number, which should be changed&lt;br /&gt;each time the master file is changed. it is 32 bit size field . Slave  servers check the serial no. at refresh time and if the detect changed serial no  in master zone transfer  is carried out to keep its zone files updated.&lt;br /&gt; &lt;br /&gt;If a master server cannot be contacted within the interval given by the expire time, all data from the zone is discarded by slave servers.&lt;br /&gt;The minimum value is the time-to-live (``TTL&#39;&#39;) used by records in the file with no explicit time-to-live value.&lt;br /&gt;&lt;br /&gt; The details of all   type of records used in a zone file are given below  &lt;br /&gt;&lt;br /&gt;Type of records&lt;br /&gt;SOA     marks the start of a zone of authority (domain of  originating host, domain address of maintainer, a serial number and the following parameters in  seconds: refresh, retry, expire and minimum TTL. (see RFC 883)).&lt;br /&gt;NULL    a null resource record (no format or data)&lt;br /&gt;RP      a Responsible Person for some domain name &lt;br /&gt;PTR     a domain name pointer (domain)&lt;br /&gt;HINFO   host information (cpu_type OS_type)&lt;br /&gt;A       a host address (dotted quad)&lt;br /&gt;NS      an authoritative name server (domain)&lt;br /&gt;MX      a mail exchanger (domain), preceded by a preference value (0..32767), with lower numeric values  representing higher logical preferences.&lt;br /&gt;CNAME  the canonical name for an alias (domain)&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;Following are the three functional zone files representing local host  and a master  zone. &lt;br /&gt;&lt;br /&gt;The explanation of the terms are at the end. &lt;br /&gt;&lt;br /&gt;/var/named/localhost &lt;br /&gt;&lt;br /&gt;localhost. 1D IN SOA localhost.mydomainr.com. hostmaster.mydomain.com. (&lt;br /&gt;                42 ; serial &lt;br /&gt;                3H ; refresh&lt;br /&gt;                15M ; retry&lt;br /&gt;                1W ; expiry&lt;br /&gt;                1D ) ; minimum&lt;br /&gt;localhost.         NS         dns&lt;br /&gt;localhost.         A         127.0.0.1&lt;br /&gt; &lt;br /&gt;/var/named/ 0.0.127.in-addr.arpa&lt;br /&gt;     &lt;br /&gt;0.0.127.in-addr.arpa IN SOA localhost. root.localhost. (&lt;br /&gt;                42 ; serial &lt;br /&gt;                3H ; refresh&lt;br /&gt;                15M ; retry&lt;br /&gt;                1W ; expiry&lt;br /&gt;                1D ) ; minimum&lt;br /&gt;     &lt;br /&gt;0.0.127.in-addr.arpa    IN    NS     dns.mydomain.com&lt;br /&gt;1.0.0.127.in-addr.arpa. PTR          localhost&lt;br /&gt; &lt;br /&gt;/var/named/mydomain.com&lt;br /&gt; &lt;br /&gt;mydomain.com. IN SOA dns.mydomain.com hostmaster.dns. (&lt;br /&gt;            200010016 ;serial&lt;br /&gt;            10800&lt;br /&gt;            3600&lt;br /&gt;            3600&lt;br /&gt;            86400 )&lt;br /&gt;mydomain.com. 1D IN NS dns.mydomain.com.&lt;br /&gt;                  IN MX 20 mx1.domaingateway.net.&lt;br /&gt;                  IN MX 10 mail-in.mydomain.com.&lt;br /&gt; &lt;br /&gt;;mydomain hosts below&lt;br /&gt;www              IN CNAME mydomain.com.&lt;br /&gt;localhost        IN A     127.0.0.1&lt;br /&gt;mail               IN A     xxx.xxx.xxx.xxx&lt;br /&gt;ns1                IN A     xxx.xxx.xxx.xxx&lt;br /&gt;dns                IN A     xxx.xxx.xxx.xxx&lt;br /&gt;news              IN A     xxx.xxx.xxx.xxx&lt;br /&gt;&lt;br /&gt;root cache file&lt;br /&gt;&lt;br /&gt;localhost.         NS         dns&lt;br /&gt;&lt;br /&gt;this is declaration of  the  type of localhost  it declares that  local host is a name server with hostname dns &lt;br /&gt;&lt;br /&gt;localhost.         A         127.0.0.1&lt;br /&gt;&lt;br /&gt;this declares the address of local host.&lt;br /&gt;&lt;br /&gt;0.0.127.in-addr.arpa         IN    NS     dns.mydomain.com&lt;br /&gt;1.0.0.127.in-addr.arpa.     PTR          localhost&lt;br /&gt;&lt;br /&gt;Similarly in reverse zone map file reverse address  is declared  as ns record of name  dns and a pointer record ptr  , points this rev address to the localhost.&lt;br /&gt;&lt;br /&gt;Resource records normally end at the end of a line, but may be continued across lines between opening and closing parentheses. Comments are introduced by semicolons and continue to the end of the line.Note that there are other resource record types, not shown where. You should consult the BIND Operations Guide (BOG&#39;) for the complete list. Some resource record types may have been standardized in newer RFC&#39;s but not yet implemented in this version of BIND.&lt;br /&gt;&lt;br /&gt;6.0 Client Configuration&lt;br /&gt;&lt;br /&gt;Each client need a configuration file  /etc/resolv.conf  which informs it about the domain name server . This is a editable text file with following entries :&lt;br /&gt;&lt;br /&gt;domainname  yourdomainname.com&lt;br /&gt;nameserver  10.20.30.40&lt;br /&gt;nameserver   10.20.30.41&lt;br /&gt;&lt;br /&gt;7.0 Signals&lt;br /&gt;&lt;br /&gt;The following signals have the specified effect when sent to the server process named using the kill  command.&lt;br /&gt;     &lt;br /&gt;SIGHUP &lt;br /&gt;Causes server to read named.boot and reload the database. If the server is built with the FORCED_RELOAD compile-time option, then SIGHUP will&lt;br /&gt;also cause the server to check the serial number on&lt;br /&gt;all secondary zones. Normally the serial numbers&lt;br /&gt;are only checked at the SOA-specified intervals.&lt;br /&gt;SIGINT :&lt;br /&gt;Dumps the current data base and cache to&lt;br /&gt;/var/named/named_dump.db&lt;br /&gt;SIGIOT :&lt;br /&gt;Dumps statistics data into /var/named/named.stats .if the server is compiled with -DSTATS. Statistics data is appended to the file. Some systems use SIGABRT    rather than SIGIOT for this.&lt;br /&gt;SIGSYS :&lt;br /&gt;Dumps the profiling data in /var/named if the&lt;br /&gt;server is compiled with profiling (server forks, chdirs and exits).&lt;br /&gt;SIGTERM:&lt;br /&gt;Dumps the primary and secondary database files.&lt;br /&gt;Used to save modified data on shutdown if the&lt;br /&gt;server is compiled with dynamic updating enabled.&lt;br /&gt;SIGUSR1:&lt;br /&gt;Turns on debugging; each SIGUSR1 increments debug level. (SIGEMT on older systems without SIGUSR1)&lt;br /&gt;SIGUSR2:&lt;br /&gt;Turns off debugging completely. (SIGFPE on older&lt;br /&gt;systems without SIGUSR2)&lt;br /&gt;SIGWINCH&lt;br /&gt;Toggles logging of all incoming queries via sys-&lt;br /&gt;log(8) (requires server to have been built with the&lt;br /&gt;QRYLOG option)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8.0 Next Steps &lt;br /&gt;&lt;br /&gt;This  article  tried to cover a domain name server setup process  . DNS subject is very vast  and not everything can be covered in a article . If you wish to learn more about DNS there are some good books available for online buying from Amazon.com . You should have following two books in your bookself  if you are going to setup and maintain the DNS servers under unix environment.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/4620329008720512917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/domain-name-service-dns-setup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4620329008720512917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4620329008720512917'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/domain-name-service-dns-setup.html' title='Domain Name Service DNS Setup &amp; Configuration in Unix'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-4237757796215535974</id><published>2009-12-04T09:18:00.000-08:00</published><updated>2009-12-04T09:20:14.388-08:00</updated><title type='text'>Linux Internet Web Server and Domain Configuration Tutorial</title><content type='html'>&lt;b&gt;&lt;big&gt;Prerequisites:&lt;/big&gt;&lt;/b&gt;                                    &lt;p&gt; This tutorial assumes that a computer has Linux installed and running.  See &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialRedHatInstallation.html&quot;&gt;RedHat Installation&lt;/a&gt; for the basics. A connection to the internet is also assumed.  A connection of 128 Mbits/sec or greater will yield the best results. ISDN, DSL, cable modem or better are all suitable.  A 56k modem will work but the results will be mediocre at best. The tasks must also be performed with the root user login and password.       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Software Prerequisites:&lt;/b&gt; The Apache web server (httpd),  FTP (requires xinetd or inetd) and Bind (named) software packages with their dependencies are all required.  One can use the &lt;b&gt;rpm&lt;/b&gt; command to verify installation:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Fedora Core 1+, Red Hat Enterprise 4/5, CentOS 4/5:            &lt;pre&gt;   rpm -q httpd bind bind-chroot bind-utils system-config-bind xinetd vsftpd&lt;br /&gt;&lt;/pre&gt;      RPMs added FC2+: &lt;tt&gt;system-config-httpd&lt;/tt&gt;    &lt;br /&gt;     RPMs added FC3+: &lt;tt&gt;httpd-suexec&lt;/tt&gt;                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 9.0           &lt;pre&gt;   rpm -q httpd bind xinetd vsftpd&lt;br /&gt;&lt;/pre&gt;  A Red Hat 8.0 wu-ftpd RPM may be installed (Newer version 2.6.2 or later with security fix &lt;tt&gt;&lt;a href=&quot;http://rpmfind.net//linux/RPM/redhat/updates/8.0/i386/wu-ftpd-2.6.2-12.i386.html&quot;&gt;wu-ftpd-2.6.2-11+&lt;/a&gt;&lt;/tt&gt;) or install from &lt;a href=&quot;ftp://ftp.wu-ftpd.org/pub/wu-ftpd/&quot;&gt;source&lt;/a&gt;.                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 8.0           &lt;pre&gt;   rpm -q httpd bind xinetd wu-ftpd&lt;br /&gt;&lt;/pre&gt;          &lt;/li&gt;&lt;li&gt;Red Hat 7.x:           &lt;pre&gt;   rpm -q apache bind inetd wu-ftpd&lt;br /&gt;&lt;/pre&gt;  Use  wu-ftpd version 2.6.2 or later to avoid security problems.                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;SuSE 9.3:           &lt;pre&gt;   rpm -ivh apache2 apache2-prefork bind bind-chrootenv bind-utils vsftpd&lt;br /&gt;&lt;/pre&gt; Note: The apache2-MPM is a generic term for Apache installation options for &quot;Multi-Processing Modules (MPM)s &quot;prefork&quot; or &quot;worker&quot;. If you try and only install apache2 you will get the following error:            &lt;pre&gt;   apache2-MPM is needed by apache2-2.0.53-9&lt;br /&gt;&lt;/pre&gt;  Also see &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mpm.html&quot;&gt;Apache.org: MPMs&lt;/a&gt;           &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian:           &lt;pre&gt;   apt-get install apache2&lt;br /&gt;  apt-get install apache2-common&lt;br /&gt;  apt-get install apache2-mpm-prefork&lt;br /&gt;  apt-get install apache2-utils&lt;br /&gt;  apt-get install bind9&lt;br /&gt;  apt-get install vsftpd&lt;br /&gt;&lt;/pre&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; One should also have a working knowledge of the Linux init process so that these services are initiated upon system boot. See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;YoLinux init process tutorial&lt;/a&gt; for more info.          &lt;/p&gt;       &lt;p&gt;       &lt;a name=&quot;HTTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Apache HTTP Web server configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; This tutorial is for the Apache HTTP web server (Version 1.3 and 2.0). See the        &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxHttpServers.html&quot;&gt;YoLinux list of Linux HTTP servers&lt;/a&gt; for a list of other web servers for the Hyper Text Transport Protocol.       &lt;/p&gt;       &lt;p&gt; The Apache configuration file is: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt; Web pages are served from the directory as configured by the        &lt;tt&gt;DocumentRoot&lt;/tt&gt; directive. The default directory location is:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat 7.x-9, Fedora Core, Red Hat Enterprise 4/5, CentOS 4/5: &lt;tt&gt;/var/www/html/&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 6.x and older: &lt;tt&gt;/home/httpd/html/&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Suse 9.x: &lt;tt&gt;/srv/www/htdocs/&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian: &lt;tt&gt;/var/www/html&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;  The default home page for the default configuration is &lt;tt&gt;index.html&lt;/tt&gt;.  Note the pages should not be owned by user &lt;tt&gt;apache&lt;/tt&gt; as this is the  process owner of the httpd web server daemon. If the web server process is comprimised, it should not be allowed to alter the files. The files should of course be readable by user &lt;tt&gt;apache&lt;/tt&gt;.       &lt;p&gt; Apache may be configured to run as a host for one web site in this fashion or it may be configured to serve for multiple domains. Serving for multiple domains may be achieved in two ways:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Virtual hosts: One IP address but multiple domains - &quot;Name based&quot; virtual hosting.         &lt;/li&gt;&lt;li&gt;Multiple IP based virtual hosts: One IP address for each domain - &quot;IP based&quot; virtual hosting.         &lt;/li&gt;&lt;/ul&gt;   The default configuration will allow one to have multiple user accounts under one domain by using a reference to the user account:        &lt;tt&gt;http://www.&lt;i&gt;domain.com&lt;/i&gt;/~user1/&lt;/tt&gt;.  If no domain is registered or configured, the IP address may also be used:       &lt;tt&gt;http://&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;/~user1/&lt;/tt&gt;.        &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;  The default umask for directory creation is correct by default but if not use:       &lt;tt&gt; chmod 755 /home/&lt;i&gt;user1&lt;/i&gt;/public_html&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt; When creating new &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot;  configuration directives, I found that placing them by the existing &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot; directives  to be a bad idea. It would not use the &lt;tt&gt;.htaccess&lt;/tt&gt; file. This was because the statement defining the use of the &lt;tt&gt;.htaccess&lt;/tt&gt; file was after the  &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot; statement. Previously in RH 6.x the files were separated and the order was defined a little different. I now place new &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot; statements near the end of the file just before the &quot;&lt;tt&gt;VirtualHost&lt;/tt&gt;&quot; statements.       &lt;/p&gt;       &lt;p&gt; For users of Red Hat 7.1, the GUI configuration tool &lt;tt&gt;apacheconf&lt;/tt&gt; was introduced for the crowd who like to use pretty point and click tools.       &lt;/p&gt;       &lt;p&gt; Files used by Apache:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Start/stop/restart script:           &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/CentOS: &lt;tt&gt;/etc/rc.d/init.d/httpd&lt;/tt&gt;            &lt;/li&gt;&lt;li&gt;SuSE 9.3: &lt;tt&gt;/etc/init.d/apache2&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian: &lt;tt&gt;/etc/init.d/apache2&lt;/tt&gt;           &lt;/li&gt;&lt;/ul&gt;         &lt;/li&gt;&lt;li&gt;Apache main configuration file:                &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/CentOS: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;SuSE: &lt;tt&gt;/etc/apache2/httpd.conf&lt;/tt&gt;        &lt;br /&gt;(Need to add directive: &lt;tt&gt;ServerName &lt;i&gt;host-name&lt;/i&gt;&lt;/tt&gt;)     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian: &lt;tt&gt;/etc/apache2/apache2.conf&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;li&gt;Apache suplementary configuration files:                &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/CentOS: &lt;tt&gt;/etc/httpd/conf.d/&lt;i&gt;&lt;b&gt;component&lt;/b&gt;&lt;/i&gt;.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;SuSE: &lt;tt&gt;/etc/apache2/conf.d/&lt;i&gt;&lt;b&gt;component&lt;/b&gt;&lt;/i&gt;.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian:                &lt;ul&gt;&lt;li&gt;Virtual domains: &lt;tt&gt;/etc/apache2/sites-enabled/&lt;i&gt;&lt;b&gt;domain&lt;/b&gt;&lt;/i&gt;&lt;/tt&gt;              &lt;br /&gt;(Create soft link from &lt;tt&gt;/etc/apache2/sites-enabled/&lt;i&gt;domain&lt;/i&gt;&lt;/tt&gt; to &lt;tt&gt;/etc/apache2/sites-available/&lt;i&gt;domain&lt;/i&gt;&lt;/tt&gt; to turn on. Use command &lt;tt&gt;a2ensite&lt;/tt&gt;)               &lt;/li&gt;&lt;li&gt;Additional configuration directives: &lt;tt&gt;/etc/apache2/conf.d/&lt;/tt&gt;               &lt;/li&gt;&lt;li&gt;Modules to load: &lt;tt&gt;/etc/apache2/mods-available/&lt;/tt&gt;                   &lt;br /&gt;                   (Soft link to &lt;tt&gt;/etc/apache2/mods-enabled/&lt;/tt&gt; to turn on)               &lt;/li&gt;&lt;li&gt;Ports to listen to: &lt;tt&gt;/etc/apache2/ports.conf&lt;/tt&gt;               &lt;/li&gt;&lt;/ul&gt;           &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/var/log/httpd/access_log&lt;/tt&gt; and &lt;tt&gt;error_log&lt;/tt&gt; -     Red Hat/Fedora Core Apache log files    &lt;br /&gt;(Suse: &lt;tt&gt;/var/log/apache2/&lt;/tt&gt;)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Start/Stop/Restart scripts:&lt;/b&gt; The script is to be run with the qualifiers &lt;tt&gt;start&lt;/tt&gt;, &lt;tt&gt;stop&lt;/tt&gt;,       &lt;tt&gt;restart&lt;/tt&gt; or &lt;tt&gt;status&lt;/tt&gt;.       &lt;br /&gt;i.e.        &lt;tt&gt;/etc/rc.d/init.d/httpd restart&lt;/tt&gt;. A restart allows the web server  to start again and read the configuration files to pick up any changes. To have this script invoked upon system boot issue the command       &lt;tt&gt;chkconfig --add httpd&lt;/tt&gt;.  See &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;Linux Init Process Tutorial&lt;/a&gt; for a more complete discussion.       &lt;/p&gt;       &lt;p&gt; Also Apache control tool: &lt;tt&gt;/usr/sbin/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=apachectl&quot;&gt;apachectl&lt;/a&gt; start&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Apache Control Command: apachectl:&lt;/b&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat / Fedora Core / CentOS: &lt;tt&gt;&lt;b&gt;apachectl&lt;/b&gt; &lt;i&gt;directive&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt; Ubuntu dapper 6.06 / hardy 8.04 / Debian: &lt;tt&gt;&lt;b&gt;apache2ctl&lt;/b&gt; &lt;i&gt;directive&lt;/i&gt;&lt;/tt&gt;           &lt;table border=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                 &lt;th&gt;Directive&lt;/th&gt;                 &lt;th&gt;Description&lt;/th&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;start&lt;/td&gt;                 &lt;td&gt;Start  the Apache httpd daemon. Gives an error if it is already running.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;stop&lt;/td&gt;                 &lt;td&gt;Stops the Apache httpd daemon.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;graceful&lt;/td&gt;                 &lt;td&gt;Gracefully restarts the Apache httpd daemon. If the daemon is not running, it is started. This differs from a normal restart in that currently open connections are not aborted.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;restart&lt;/td&gt;                 &lt;td&gt;Restarts the Apache httpd daemon. If the daemon is not running, it is started. This command automatically checks the configuration files as in configtest before initiating the restart to make sure the daemon doesn&#39;t die.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;status&lt;/td&gt;                 &lt;td valign=&quot;top&quot;&gt;Displays a  brief  status  report.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;fullstatus&lt;/td&gt;                 &lt;td valign=&quot;top&quot;&gt;Displays a full status report from mod_status. Requires mod_status enabled on your server and a text-based browser such as lynx available on your system. The URL used to access the status report can be set by editing the STATUSURL variable in the script.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;configtest&lt;br /&gt;-t&lt;/td&gt;                 &lt;td valign=&quot;top&quot;&gt;Run a configuration file syntax test.&lt;/td&gt;               &lt;/tr&gt;              &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;b&gt;Apache Configuration Files:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;: is used to configure Apache. In the past it was broken down into three files. These may now be all concatenated into one file.  See &lt;a href=&quot;http://www.apache.org/docs/&quot;&gt;Apache online documentation&lt;/a&gt; for the full manual.         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/httpd/conf.d/&lt;i&gt;application&lt;/i&gt;.conf&lt;/tt&gt;: All configuration files     in this directory are included during Apache start-up. Used to store application specific configurations.          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/sysconfig/httpd&lt;/tt&gt;: Holds environment variables used when starting Apache.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Basic settings:&lt;/b&gt; Change the default value for &lt;tt&gt;ServerName www.&lt;&lt;i&gt;your-domain.com&lt;/i&gt;&gt;&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Giving Apache access to the file system:&lt;/b&gt; It is prudent to limit Apache&#39;s  view of the file system to only those directories necessary. This is done with the directory statement. Start by denying access to everything, then grant access to the necessary directories.       &lt;/p&gt;       &lt;p&gt; Deny access completely to file system root (&quot;/&quot;) as the default:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           Deny first, then grant permissions:           &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;             &lt;tbody&gt;               &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;  &lt;br /&gt;&lt;directory&gt;&lt;br /&gt;  Options None&lt;br /&gt;  AllowOverride None&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;           &lt;p&gt;           &lt;/p&gt;           Set default location of system web pages and allow access: (Red Hat/Fedora/CentOS)           &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;  &lt;br /&gt;DocumentRoot &quot;/var/www/html&quot;&lt;br /&gt;&lt;br /&gt;&lt;directory&gt;&lt;br /&gt;  Options Indexes FollowSymLinks&lt;br /&gt;  AllowOverride None&lt;br /&gt;  Order allow,deny&lt;br /&gt;  Allow from all&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt; &lt;h3&gt;Grant access to a user&#39;s web directory: public_html&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;Enabling Red Hat / Fedora Linux, Apache &lt;tt&gt;public_html&lt;/tt&gt; user directory access:&lt;/b&gt;  &lt;p&gt; This will allow users to serve content from their home directories under the subdirectory &quot;&lt;tt&gt;/home/&lt;i&gt;userid&lt;/i&gt;/public_html/&lt;/tt&gt;&quot; by accessing the URL &lt;tt&gt;http://&lt;i&gt;hostname&lt;/i&gt;/~userid/&lt;/tt&gt; &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; File: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;LoadModule userdir_module modules/mod_userdir.so&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;ifmodule&gt;&lt;br /&gt;   &lt;b&gt;#UserDir disable             - Add comment to this line&lt;/b&gt;&lt;br /&gt;   #&lt;br /&gt;   # To enable requests to /~user/ to serve the user&#39;s public_html&lt;br /&gt;   # directory, remove the &quot;UserDir disable&quot; line above, and uncomment&lt;br /&gt;   # the following line instead:&lt;br /&gt;   &lt;b&gt;UserDir public_html          # Uncomment this line&lt;/b&gt;&lt;br /&gt;&lt;/ifmodule&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;directory&gt;&lt;br /&gt;   AllowOverride FileInfo AuthConfig Limit&lt;br /&gt;   Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;   &lt;limit&gt;&lt;br /&gt;       Order allow,deny&lt;br /&gt;       Allow from all&lt;br /&gt;   &lt;/limit&gt;&lt;br /&gt;   &lt;limitexcept&gt;&lt;br /&gt;       Order deny,allow&lt;br /&gt;       Deny from all&lt;br /&gt;   &lt;/limitexcept&gt;&lt;br /&gt;&lt;/directory&gt; &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt; Change to a comment (add &quot;#&quot; at beginning of line) from Fedora Core default &lt;tt&gt;UserDir  disable&lt;/tt&gt; and assign the directory &lt;tt&gt;public_html&lt;/tt&gt; as a web server accessible directory.      &lt;br /&gt;&lt;b&gt;OR&lt;/b&gt;      &lt;br /&gt;Assign a single user the specific ability to share their directory:       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt; &lt;directory&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html&gt;&lt;br /&gt;  AllowOverride None&lt;br /&gt;  order allow,deny&lt;br /&gt;  allow from all&lt;br /&gt;  Options Indexes Includes FollowSymLinks&lt;br /&gt;&lt;/directory&gt; &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Allows the specific user, &quot;&lt;i&gt;user1&lt;/i&gt;&quot; only, the ability to serve the directory &lt;tt&gt;/home/&lt;i&gt;&lt;b&gt;user1&lt;/b&gt;&lt;/i&gt;/public_html/&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt; Also use SELinux command to set the security context: &lt;tt&gt;setsebool httpd_enable_homedirs  true&lt;/tt&gt;       &lt;p&gt; File permissions: The Apache web server daemon must be able to read your web pages in order to feed thier contents to the network. Use an appropriate  umask and file protection. This works: &lt;tt&gt;chmod ugo+r -R public_html&lt;/tt&gt;      &lt;br /&gt; One may also use groups to control permisions.  See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html&quot;&gt;YoLinux tutorial on managing groups&lt;/a&gt;.       &lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;Enabling Ubuntu&#39;s Apache &lt;tt&gt;public_html&lt;/tt&gt; user directory access:&lt;/b&gt;        &lt;p&gt; Ubuntu has broken out the Apache loadable module directives into the directory &lt;tt&gt;/etc/apache2/mods-available/&lt;/tt&gt;.  To enable an Apache module, generate soft links to the directory &lt;tt&gt;/etc/apache2/sites-enabled/&lt;/tt&gt; by using the commands &lt;tt&gt;a2enmod&lt;/tt&gt;/&lt;tt&gt;a2dismod&lt;/tt&gt; to enable/disable Apache modules.  &lt;/p&gt; Example:  &lt;ul&gt;&lt;li&gt;&lt;tt&gt;&lt;b&gt;[root@node2]#&lt;/b&gt; a2enmod&lt;/tt&gt;     &lt;br /&gt;A list of available modules is displayed. Enter &quot;userdir&quot; as the module to enable. &lt;/li&gt;&lt;li&gt;Restart Apache with the following command: &lt;tt&gt;/etc/init.d/apache2 force-reload&lt;/tt&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; Note: This is the same as manually generating the following two soft links: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;tt&gt;ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/userdir.conf&lt;/tt&gt; &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load&lt;/tt&gt; &lt;/li&gt;&lt;/ul&gt; Man page: &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=a2enmod&quot;&gt;a2enmod/a2dismod&lt;/a&gt;              &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: If the Apache web server can not access the file you will get the error &quot;403 Forbidden&quot; &quot;You don&#39;t have permission to access &lt;i&gt;file-name&lt;/i&gt; on this server.&quot;  Note the default permissions on a user directory when first created with &quot;useradd&quot; are:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;tt&gt;drwx------   3 userx         userx&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt;  You must allow the web server running as user &quot;apache&quot; to access the directory if it is to display pages held there.       &lt;br /&gt; Fix with command: &lt;tt&gt;chmod ugo+rx /home/userx&lt;/tt&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;tt&gt;drwxr-xr-x   3 userx         userx&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt; &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;SELINUX&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;h3&gt;SELinux security contexts:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt; Fedora Core 3 and Red Hat Enterprise Linux 4 introduced SELinux (Security Enhanced Linux) security policies and context labels.           &lt;br /&gt;To view the security context labels applied to your web page files use the  command: &lt;tt&gt;ls -Z&lt;/tt&gt;           &lt;p&gt; The system enables/disables SELinux policies in the file &lt;tt&gt;/etc/selinux/config&lt;/tt&gt;          &lt;br /&gt;SELinux can be turned off by setting the directive SELINUX. (Then reboot the system):           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;SELINUX=disabled&lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;  or using the command &lt;tt&gt;setenforce 0&lt;/tt&gt; to temporarily disable SELinux until the next reboot.           &lt;p&gt; When using SELinux security features,  the security context labels must be added so that Apache can read your files. The default security context label used is inherited from the directory for newly created files. Thus a copy (&lt;tt&gt;cp&lt;/tt&gt;) must be used and not a move (&lt;tt&gt;mv&lt;/tt&gt;) when placing files in the content directory. Move does not create a new file and thus the file does not recieve the directory security context label. The context labels used for the default Apache directories can be viewed with the command: &lt;tt&gt;ls -Z /var/www&lt;/tt&gt;          &lt;br /&gt;The web directories of users (i.e. &lt;tt&gt;public_html&lt;/tt&gt;) should be set with the appropriate context label (&lt;tt&gt;httpd_sys_content_t&lt;/tt&gt;).           &lt;/p&gt;           &lt;p&gt; Assign a security context for web pages: &lt;tt&gt;chcon -R -h -t httpd_sys_content_t /home/&lt;i&gt;user1&lt;/i&gt;/public_html&lt;/tt&gt;          &lt;br /&gt; Options:           &lt;/p&gt;           &lt;ul&gt;&lt;li&gt;-R: Recursive. Files and directories in current directory and all subdirectories.             &lt;/li&gt;&lt;li&gt;-h: Affect symbolic links.             &lt;/li&gt;&lt;li&gt;-t: Specify type of security context.             &lt;/li&gt;&lt;/ul&gt;            &lt;p&gt; Use the following security contexts:           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table border=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;th&gt;Context Type&lt;/th&gt;                     &lt;th&gt;Description&lt;/th&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_content_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Used for static web content. i.e. HTML web pages.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_exec_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Use for executable CGI scripts or binary executables.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_rw_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;CGI is allowed to alter/delete files of this context.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_ra_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;CGI is allowed to read or append files of this context.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_ro_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;CGI is allowed to read files and directories of this context.&lt;/td&gt;                   &lt;/tr&gt;                  &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Set the following options: &lt;tt&gt;setsebool &lt;i&gt;httpd-option&lt;/i&gt; true&lt;/tt&gt;          &lt;br /&gt;(or set to &lt;tt&gt;false&lt;/tt&gt;)           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table border=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;th&gt;Policy&lt;/th&gt;                     &lt;th&gt;Description&lt;/th&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_enable_cgi &lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Allow httpd cgi support.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_enable_homedirs  &lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Allow httpd to read home directories.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_ssi_exec  &lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Allow httpd to run SSI executables in the same domain as system CGI scripts.&lt;/td&gt;                   &lt;/tr&gt;                  &lt;/tbody&gt;               &lt;/table&gt;  Then restart Apache:                &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/Suse and all System V init script based Linux systems: &lt;tt&gt;/etc/init.d/httpd restart&lt;/tt&gt;                 &lt;/li&gt;&lt;li&gt;Red Hat/Fedora: &lt;tt&gt;service httpd restart&lt;/tt&gt;                 &lt;/li&gt;&lt;/ul&gt;              &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; The default SE boolean values are specified in the file: &lt;tt&gt;/etc/selinux/targeted/booleans&lt;/tt&gt;           &lt;/p&gt;           &lt;p&gt; For more on SELinux see the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialSysAdmin.html#SELINUX&quot;&gt;YoLinux Systems Administration tutorial&lt;/a&gt;.           &lt;/p&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Virtual Hosts:&lt;/h3&gt; The Apache web server allows one to configure a single computer to represent multiple websites as if they were on separate hosts. There are two methods available and we describe the configuration of each. Choose one method for your domain: &lt;ul&gt;&lt;li&gt;Name based virtual host: (most common)           A single computer with a single IP adress supporting multiple web domains.           The web browser using the http protocol, identifies the domain being addressed.       &lt;/li&gt;&lt;li&gt;IP based virtual host: The virtual hosts can be configured as a single multi-homed computer with multiple IP addresses on a single network card, with each IP address representing a different web domain. This has the appearance of a web domain supported by a dedicated computer because it has a dedicated IP address. &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuring a &quot;name based&quot; virtual host:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt; A virtual host configuration allows one to host multiple web site domains on one server.  (This is not required for a dedicated linux server which hosts a single web site.)           &lt;p&gt;           &lt;/p&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;NameVirtualHost &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;          &lt;b&gt;- CNAME (bind DNS alias www) specified in Bind configuration file (/var/named/...)&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;             &lt;b&gt;- Allows requests by domain name without the &quot;www&quot; prefix.&lt;/b&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;  ErrorLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-error_log&lt;br /&gt;  TransferLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-access_log&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;                &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;            &lt;p&gt;           &lt;b&gt;Notes:&lt;/b&gt;           &lt;/p&gt;           &lt;ul&gt;&lt;li&gt;You can specify more than one IP address. i.e. if web server is also being used as a firewall/gateway and you have an external internet IP address as well as a local network IP address.                &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;NameVirtualHost &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;NameVirtualHost &lt;b&gt;&lt;i&gt;192.168.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX 192.168.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ...&lt;br /&gt;  ..&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;     See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html&quot;&gt;YoLinux Tutorial on configuring a network gateway/firewall using iptables and NAT&lt;/a&gt;.             &lt;/li&gt;&lt;li&gt;Use your IP address for &lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;, actual domain name and e-mail address.   &lt;br /&gt;One can use DNS views to provide different local network DNS results.               &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;Note that I configure Apache for both requests http://www.&lt;i&gt;domain-name.com&lt;/i&gt; and http://&lt;i&gt;domain-name.com&lt;/i&gt;.               &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;Once virtual hosts are configured, your default system      domain (&lt;tt&gt;/var/www/html&lt;/tt&gt;) will stop working.     Your default domain now must be configured as a virtual domain.               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;directory&gt;&lt;br /&gt;&lt;br /&gt;  ...  &lt;b&gt;&lt;i&gt;This part remains the same&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ..&lt;br /&gt;&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;&lt;br /&gt;# Default for when no domain name is given (i.e. access by IP address)&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;*:80&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /var/www/html&lt;br /&gt;  ErrorLog logs/error_log&lt;br /&gt;  TransferLog logs/access_log&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;# Add a VirtualHost definition for your domain which was once the system default.&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /var/www/html&lt;br /&gt;  ErrorLog logs/error_log&lt;br /&gt;  TransferLog logs/access_log&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;  ...&lt;br /&gt;  ..&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;                &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;Forwarding to a primary URL. It is best to avoid the appearance of duplicated web content from two URLs such as http://www.&lt;i&gt;your-domain&lt;/i&gt;.com and   http://&lt;i&gt;your-domain&lt;/i&gt;.com. Supply a forwarding Apache &quot;Redirect&quot;.               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;   &lt;b&gt;&lt;i&gt;- Note that no aliases are listed&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ...&lt;br /&gt;  ...&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;# Add a VirtualHost definition to forward to your primary URL&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;other-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAlias www.&lt;b&gt;&lt;i&gt;other-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  Redirect permanent / http://www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;.com/&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;  ...&lt;br /&gt;  ..&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Note:                &lt;ul&gt;&lt;li&gt;See the YoLinux.com &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/ApacheRedirect.html&quot;&gt;Apache &quot;Redirect&quot; Tutorial&lt;/a&gt;                 &lt;/li&gt;&lt;/ul&gt;                &lt;p&gt;               &lt;/p&gt;               &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.apache.org/docs/vhosts/examples.html&quot;&gt;More virtual host examples.&lt;/a&gt;             &lt;/li&gt;&lt;/ul&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; When specifying more domains, they may all use the same IP address or some/all  may use their own unique IP address.  Specify a &quot;NameVirtualHost&quot; for each IP address.        &lt;/p&gt;       &lt;p&gt; After the Apache configuration files have been edited, restart the httpd daemon:       &lt;tt&gt;/etc/rc.d/init.d/httpd restart&lt;/tt&gt; (Red Hat) or &lt;tt&gt;/etc/init.d/apache2 restart&lt;/tt&gt; (Ubuntu / Debian)       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Apache virtual domain configuration with Ubuntu Dapper/Hardy:&lt;/h4&gt;  Ububntu separates out each virtual domain into a separate configuration file  held in the directory &lt;tt&gt;/etc/apache2/sites-available/&lt;/tt&gt;.  When the site domain is to become active, a soft link is created to the directory &lt;tt&gt;/etc/apache2/sites-enabled/&lt;/tt&gt;.       &lt;dl&gt;&lt;dd&gt; Example: &lt;tt&gt;/etc/apache2/sites-available/supercorp&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;virtualhost&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;&gt;&lt;br /&gt;       ServerName supercorp.com&lt;br /&gt;       ServerAlias www.supercorp.com&lt;br /&gt;       ServerAdmin webmaster@localhost&lt;br /&gt;&lt;br /&gt;       DocumentRoot /home/supercorp/public_html/home&lt;br /&gt;       &lt;directory&gt;&lt;br /&gt;               Options FollowSymLinks&lt;br /&gt;               AllowOverride None&lt;br /&gt;       &lt;/directory&gt;&lt;br /&gt;       &lt;directory&gt;&lt;br /&gt;               Options Indexes FollowSymLinks MultiViews&lt;br /&gt;               IndexOptions SuppressLastModified SuppressDescription&lt;br /&gt;               AllowOverride All&lt;br /&gt;               Order allow,deny&lt;br /&gt;               allow from all&lt;br /&gt;       &lt;/directory&gt;&lt;br /&gt;&lt;br /&gt;       ScriptAlias /cgi-bin/ /home/supercorp/cgi-bin/&lt;br /&gt;       &lt;directory&gt;&lt;br /&gt;               AllowOverride None&lt;br /&gt;               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch&lt;br /&gt;               Order allow,deny&lt;br /&gt;               Allow from all&lt;br /&gt;       &lt;/directory&gt;&lt;br /&gt;&lt;br /&gt;       ErrorLog /var/log/apache2/supercorp.com-error.log&lt;br /&gt;&lt;br /&gt;       # Possible values include: debug, info, notice, warn, error,&lt;br /&gt;       # crit, alert, emerg.&lt;br /&gt;       LogLevel warn&lt;br /&gt;       CustomLog /var/log/apache2/supercorp.com-access.log combined&lt;br /&gt;       ServerSignature On&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  Enable domain:           &lt;ul&gt;&lt;li&gt;Create soft link:                &lt;ul&gt;&lt;li&gt;Manually: &lt;tt&gt;ln -s /etc/apache2/sites-available/supercorp /etc/apache2/sites-enabled/supercorp&lt;/tt&gt;               &lt;/li&gt;&lt;li&gt;Use Ubuntu scripts &lt;tt&gt;a2ensite&lt;/tt&gt;/&lt;tt&gt;a2dissite&lt;/tt&gt;. Type command and it will prompt you as to which site you would like to enable or disable.               &lt;/li&gt;&lt;/ul&gt;             &lt;/li&gt;&lt;li&gt;Restart Apache:                &lt;ul&gt;&lt;li&gt;&lt;tt&gt;apache2ctl graceful&lt;/tt&gt;         &lt;br /&gt;        &lt;b&gt;or&lt;/b&gt;     &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/init.d/apache2 restart&lt;/tt&gt;        &lt;br /&gt;        &lt;b&gt;or&lt;/b&gt;     &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/init.d/apache2 reload&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;     &lt;/li&gt;&lt;/ul&gt;  Also note that Apache modules can also be enabled/disabled with scripts &lt;tt&gt;a2enmod/a2dismod&lt;/tt&gt;. &lt;p&gt; Man pages: &lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=a2enmod&quot;&gt;a2ensite/a2dissite&lt;/a&gt; (Ubuntu: Apache 2 enable/disable site) &lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=apache2ctl&quot;&gt;apache2ctl&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuring an &quot;IP based&quot; virtual host:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt; One may assign multiple IP addresse to a single network interface. See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialNetworking.html#NETWORKALIASING&quot;&gt;YoLinux networking tutorial: Network Aliasing&lt;/a&gt;.  Each IP address may then be it&#39;s own virtual server and individual domain. The downside of the &quot;IP based&quot; virtual host method is that you have to possess  multiple/extra IP addresses. This usually costs more.  The standard name based virtual hosting method above is more popular for this reason.           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt; &lt;pre&gt;  &lt;br /&gt;NameVirtualHost *              &lt;b&gt;&lt;i&gt;- Indicates all IP addresses&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;*&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user0&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;default-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user0&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.101&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;domain-1.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.102&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;domain-2.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user2&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  The default &lt;tt&gt;&lt;virtualhost&gt;&lt;/tt&gt; block will be used as the default for all IP addresses not specified explicitly.  This default IP (*) may not work for &lt;tt&gt;https&lt;/tt&gt; URL&#39;s.         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;CGI: (Common Gateway Interface)&lt;/h3&gt;   CGI is a program executable which dynamically generates a web page by writing to &lt;tt&gt;stdout&lt;/tt&gt;. CGI is permitted by either of two configuration file directives:       &lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;tt&gt;ScriptAlias&lt;/tt&gt;&lt;/b&gt;:           &lt;ul&gt;&lt;li&gt;Red Hat 7.x-9, Fedora core: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/var/www/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Red Hat 6.x and older: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/home/httpd/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Suse 9.x: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/srv/www/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/usr/lib/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;      &lt;b&gt;or&lt;/b&gt;         &lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;tt&gt; Options +ExecCGI&lt;/tt&gt;&lt;/b&gt;:           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;               &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;directory&gt;&lt;br /&gt;Options +ExecCGI&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;         &lt;/li&gt;&lt;/ul&gt;  The executable program files must have execute privileges, executable by the  process owner (Red Hat 7+/Fedora Core: &lt;tt&gt;apache&lt;/tt&gt;.  Older use &lt;tt&gt;nobody&lt;/tt&gt;) under which the httpd daemon is being run.       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuring CGI To Run With User Privileges:&lt;/h3&gt; The suEXEC feature provides Apache users the ability to run CGI and SSI programs under user IDs different from the user ID of the calling web-server. Normally, when a CGI or SSI program executes, it runs as the same user who is running the web server.        &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   NameVirtualHost &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  &lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName &lt;b&gt;node1.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;                         &lt;b&gt;- Allows requests by domain name without the &quot;www&quot; prefix.&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt; www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;          &lt;b&gt;- CNAME (alias www) specified in Bind configuration file (/var/named/...)&lt;/b&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ErrorLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-error_log&lt;br /&gt;  TransferLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-access_log&lt;br /&gt;&lt;br /&gt;  SuexecUserGroup &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt; &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  &lt;directory&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;/&gt;&lt;br /&gt;     Options +ExecCGI +Indexes&lt;br /&gt;     AddHandler cgi-script .cgi&lt;br /&gt;  &lt;/directory&gt;&lt;br /&gt;  &lt;/virtualhost&gt;&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;ERROR Pages:&lt;/h3&gt;        &lt;p&gt; You can specify your own web pages instead of the default Apache error pages:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   ErrorDocument 404 /Error404-missing.html&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  Create the file &lt;tt&gt;Error404-missing.html&lt;/tt&gt; in your &quot;DocumentRoot&quot; directory.         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;PHP:&lt;/h3&gt;        &lt;p&gt;If the appropriate php, perl and httpd RPM&#39;s are installed, the default Red Hat Apache configuration and modules will support PHP content. RPM Packages (RHEL4): &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;php: HTML-embedded scripting language         &lt;/li&gt;&lt;li&gt;php-pear: PEAR is a framework and distribution system for reusable PHP components.         &lt;/li&gt;&lt;li&gt;php-mysql: MySQL database support.         &lt;/li&gt;&lt;li&gt;php-ldap: Lightweight Directory Access Protocol (LDAP) support         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Apache configuration:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Add php default page index.php to apache config file: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;...&lt;br /&gt;&lt;br /&gt;DirectoryIndex index.html index.htm &lt;b&gt;index.php&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;  PHP Configuration File: &lt;ul&gt;&lt;li&gt;RHEL4 - PHP 4.3: &lt;tt&gt;/etc/php.ini&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu Daper 6.06/6.11: &lt;tt&gt;/etc/php5/apache2/php.ini&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;[PHP]&lt;br /&gt;engine = On&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;display_errors = Off&lt;br /&gt;include_path = &quot;.:/php/includes&quot;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;memory_limit = 32M   ; &lt;i&gt;Default is typically 8MB which is too low.&lt;/i&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;[MySQL]&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;mysql.default_host = &lt;i&gt;&lt;b&gt;superserver&lt;/b&gt;&lt;/i&gt;    ; &lt;i&gt;Hostname of the computer&lt;/i&gt;&lt;br /&gt;mysql.default_user = &lt;i&gt;&lt;b&gt;dbuser&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;...&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Small portion of file shown.&lt;br /&gt;Note that changes will not take effect until the apache web server daemon is restarted.         &lt;/dd&gt;&lt;/dl&gt;       &lt;p&gt; Test you PHP capabilities with this test file: &lt;tt&gt;/home/&lt;i&gt;user1&lt;/i&gt;/public_html/test.php&lt;/tt&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;?php&lt;br /&gt;  phpinfo();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  OR (older format)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;?&lt;br /&gt;  phpinfo();&lt;br /&gt;?&gt;&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt;  Test: &lt;tt&gt;http://localhost/~&lt;i&gt;user1&lt;/i&gt;/test.php&lt;/tt&gt;       &lt;p&gt; For more info see &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/WebPageScripting.html#PHP&quot;&gt;YoLinux list of PHP information web sites&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Running Multiple instances of &lt;tt&gt;httpd&lt;/tt&gt;:&lt;/h3&gt;        &lt;p&gt; The Apache web server daemon (&lt;tt&gt;httpd&lt;/tt&gt;) can be started with the command  line option &quot;-f&quot; to specify a unique configuration file for each instance.  Configure a unique IP address for each instance of Apache.  See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialNetworking.html#NETWORKALIASING&quot;&gt;YoLinux Networking Tutorial&lt;/a&gt; to specify multiple IP addresses for one NIC (Network Interface Card). Use the Apache configuration file directive &lt;tt&gt;Listen &lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/tt&gt;, where the IP address is unique for each instance of Apache.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Apache Man Pages:&lt;/h3&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=httpd&quot;&gt;httpd&lt;/a&gt; - Apache Hypertext Transfer Protocol Server         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=apachectl&quot;&gt;apachectl&lt;/a&gt; - Apache HTTP Server Control Interface         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ab&quot;&gt;ab&lt;/a&gt; - Apache HTTP server benchmarking tool         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=htdigest&quot;&gt;htdigest&lt;/a&gt; - manage user files for digest authentication         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=htpasswd&quot;&gt;htpasswd&lt;/a&gt; - Manage user files for basic authentication         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=logresolve&quot;&gt;logresolve&lt;/a&gt; - Resolve IP-addresses to hostnames in Apache log files         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=rotatelogs&quot;&gt;rotatelogs&lt;/a&gt; - Piped logging program to rotate Apache logs         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Also see the local online Apache configuration manual: &lt;a href=&quot;http://localhost/manual/&quot;&gt;http://localhost/manual/&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;h3&gt;Apache Red Hat / Fedora Core GUI configuration:&lt;/h3&gt;        &lt;p&gt; GUI configuration tool:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat EL 4/5, Fedora 2-10: &lt;tt&gt;/usr/bin/system-config-httpd&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 8/9, Fedora Core 1: &lt;tt&gt;/usr/bin/redhat-config-httpd&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;img src=&quot;http://www.yolinux.com/TUTORIALS/images/system-config-httpd.gif&quot; alt=&quot;Red Hat Apache httpd configuration tool&quot; /&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;b&gt;Adding web site login and password protection:&lt;/b&gt; See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html&quot;&gt;YoLinux tutorial on web site password protection&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Log file analysis:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt; Scanning the Apache web log files will not provide meaningfull statistics  unless they are graphed or presented in an easy to read fashion. The following  packages to a good job of presenting site statistics.       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.analog.cx/&quot;&gt;Analog&lt;/a&gt; - Also see &lt;a href=&quot;http://www.reportmagic.org/&quot;&gt;Report Magic for Analog&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.webalizer.com/&quot;&gt;Webalizer&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://awstats.sourceforge.net/&quot;&gt;AWStats&lt;/a&gt; - (requires PERL)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Web site statistic services:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.extreme-dm.com/tracking/?reg&quot;&gt;eXTReMe Tracking&lt;/a&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Load testing your server:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.ideit.com/products/pureload/&quot;&gt;PureLoad&lt;/a&gt; - JAVA load testing and reporting tool.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.webperfcenter.com/&quot;&gt;WebPerformance Trainer&lt;/a&gt; - Load Testing Tools.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Apache Links:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://cgiwrap.unixtools.org/&quot;&gt;CgiWrap&lt;/a&gt; - setuid wrapper that allows users to install and execute their own cgi scripts that get executed as their own userid         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.datrix.co.za/thumb/&quot;&gt;Thumbprint&lt;/a&gt; - CGI for viewing a directory of images as thumbnails         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.wwwthreads.org/&quot;&gt;WWWThreads.org&lt;/a&gt; - Commercial product - Advanced Web Conferencing Software         &lt;/li&gt;&lt;li&gt;Configuring https (mod_ssl):                &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.modssl.org/&quot;&gt;Mod_SSL.org: Home Page&lt;/a&gt;     &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.modssl.org/docs/2.8/ssl_howto.html&quot;&gt;Mod_SSL.org: Mod_SSL HowTo&lt;/a&gt;     &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.modssl.org/docs/2.8/ssl_faq.html#cert-real&quot;&gt;Mod_SSL.org: Steps to create SSL server certificate&lt;/a&gt;     &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://trident.mcs.kent.edu/%7Eimotiwal/apache.htm&quot;&gt;https configuration&lt;/a&gt;     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; &lt;a name=&quot;ANALOG&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt; &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt;&lt;b&gt;&lt;big&gt;Log file analysis using Analog:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt; Installation: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red Hat / Fedora: &lt;tt&gt;yum install analog&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu / Debian: &lt;tt&gt;apt-get install analog&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; Installation packages also available from the &lt;a href=&quot;http://www.analog.cx/download.html&quot;&gt;Analog downloads page&lt;/a&gt;. &lt;p&gt; &lt;/p&gt; Configuration file: &lt;tt&gt;/etc/analog.cfg&lt;/tt&gt; &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;LOGFILE /var/log/httpd/&lt;i&gt;your-domain.com&lt;/i&gt;-access_log* http://www.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;br /&gt;UNCOMPRESS *.gz,*.Z &quot;gzip -cd&quot;&lt;br /&gt;SUBTYPE *.gz,*.Z&lt;br /&gt;#&lt;br /&gt;OUTFILE /home/&lt;i&gt;user1&lt;/i&gt;/public_html/analog/Report.html&lt;br /&gt;#&lt;br /&gt;HOSTNAME &quot;&lt;i&gt;YourDomain.com&lt;/i&gt;&quot;&lt;br /&gt;HOSTURL  http://www.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;...&lt;br /&gt;..&lt;br /&gt;&lt;br /&gt;REQINCLUDE pages                  &lt;i&gt;&lt;b&gt;# Request page stats only&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;ALL ON&lt;br /&gt;LANGUAGE US-ENGLISH&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; One can view the settings which be used with your configuration file (also good for debugging): &lt;tt&gt;analog -settings&lt;/tt&gt; &lt;p&gt; Make Analog images available to the users report: &lt;tt&gt;ln -s /usr/share/analog/images/* /home/&lt;i&gt;user1&lt;/i&gt;/public_html/analog&lt;/tt&gt; &lt;/p&gt; &lt;p&gt; Log file location: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Red Hat / Fedora: &lt;tt&gt;/var/log/httpd/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu / Debian: &lt;tt&gt;/var/log/apache2/&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/dd&gt;&lt;/dl&gt; The Directive &lt;tt&gt;ALL ON&lt;/tt&gt; turns on all of the following: &lt;dl&gt;&lt;dd&gt; &lt;table border=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr&gt;&lt;th&gt;Analog Directive&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;MONTHLY ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each month&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;WEEKLY ON        &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each week&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DAILYREP ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each day&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DAILYSUM ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each day of the week&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;HOURLYREP ON     &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each hour of the day&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;GENERAL ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; the General Summary at the top&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;REQUEST ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which files were requested&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;FAILURE ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which files were not found&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DIRECTORY ON     &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; Directory Report&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;HOST ON          &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which computers requested files&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;ORGANISATION ON  &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which organisations they were from&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DOMAIN ON        &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which countries they were in&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;REFERRER ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; where people followed links from&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;FAILREF ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; where people followed broken links from&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;SEARCHQUERY ON   &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; the phrases and words they used...&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;SEARCHWORD ON    &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; ...to find you from search engines&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;BROWSERSUM ON    &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which browser types people were using&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;OSREP ON         &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; and which operating systems&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;FILETYPE ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; types of file requested&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;SIZE ON          &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; sizes of files requested&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;STATUS ON        &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; number of each type of success and failure&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; Cron job to handle multiple domains: &lt;tt&gt;/etc/cron.daily/analog&lt;/tt&gt; &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;#!/bin/sh&lt;br /&gt;cp /opt/etc/analog-domain1.com.cfg      /etc/analog.cfg&lt;br /&gt;/usr/bin/analog&lt;br /&gt;cp /opt/etc/analog-domain2.com.cfg      /etc/analog.cfg&lt;br /&gt;/usr/bin/analog&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; Links: &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.analog.cx/&quot;&gt;Analog home page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.analog.cx/docs/quickref.html&quot;&gt;Analog command reference&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;a name=&quot;HTTPERF&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt; &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt;&lt;b&gt;&lt;big&gt;Measuring Web Server Performance:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt; See the YoLinux.com &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/WebServerBenchmarking.html&quot;&gt;web server benchmarking tutorial&lt;/a&gt;. &lt;/p&gt;        &lt;p&gt;       &lt;a name=&quot;FTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;FTPd and FTP user account configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; Many FTP programs exist. This example covers the popular       &lt;a href=&quot;http://vsftpd.beasts.org/&quot;&gt;vsftpd&lt;/a&gt; (Red Hat default 9.0, Fedora Core, Suse) and        &lt;a href=&quot;http://www.wu-ftpd.org/&quot;&gt;wu-ftpd&lt;/a&gt; (Washington University) program which comes standard with RedHat (last shipped with RedHat 8.0 but can be installed on any Linux system). (RPM: wu-ftpd) There are other FTP programs including &lt;a href=&quot;http://www.proftpd.org/&quot;&gt;proFtpd&lt;/a&gt;  (supports LDAP authentication, Apache like directives, full featured  ftp server software),        &lt;a href=&quot;http://www.bftpd.org/&quot;&gt;bftpd&lt;/a&gt;, &lt;a href=&quot;http://www.pureftpd.org/&quot;&gt;pure-ftpd&lt;/a&gt; (free BSD and optional on Suse), etc ...       &lt;/p&gt;       &lt;p&gt; FTPd and SELinux: To allow FTPd daemon access to users home directories: &lt;tt&gt;setsebool -P ftp_home_dir 1&lt;/tt&gt;&lt;br /&gt;Follow with the command &lt;tt&gt;service vsftpd restart&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt; FTPd configuration tutorials:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#VSFTPD&quot;&gt;# vsFTPd&lt;/a&gt;: Configuration         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#WUFTPD&quot;&gt;# WU-FTPd&lt;/a&gt;: Configuration         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#FTPCLIENTS&quot;&gt;# FTP Clients&lt;/a&gt;: Links         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;VSFTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;vsFTPd and FTP user account configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; The vsFTPd ftp server was first made available in Red Hat 9.0. It has been adopted by Suse and OpenBSD as well. This is currently the recomended FTP daemon for use on FTP servers.       &lt;/p&gt;     &lt;p&gt;     &lt;b&gt;Enable vsftpd:&lt;/b&gt;     &lt;/p&gt;     &lt;ul&gt;&lt;li&gt;Red Hat/Fedora Core/CentOS: VsFTPd is a stand alone service and by the default Fedora Core installation, not controlled by xinetd as is the wu-ftpd default installation.          &lt;br /&gt;Thus start service: &lt;tt&gt;service vsftpd start&lt;/tt&gt; (or: &lt;tt&gt;/etc/init.d/vsftpd start&lt;/tt&gt;)          &lt;br /&gt;Configure vsftpd to start upon system boot: &lt;tt&gt;chkconfig --add vsftpd&lt;/tt&gt;           &lt;p&gt;           &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;SuSE: By default, the vsftpd is an xinetd controlled service. To enable  FTP server services edit the file &lt;tt&gt;/etc/xinetd.d/vsftpd&lt;/tt&gt; and change:          &lt;br /&gt;          &lt;tt&gt;disable         = yes&lt;/tt&gt;          &lt;br /&gt;to:          &lt;br /&gt;          &lt;tt&gt;disable         = no&lt;/tt&gt;          &lt;br /&gt;Restart the xinetd daemon: &lt;tt&gt;/etc/init.d/xinetd restart&lt;/tt&gt;          &lt;br /&gt;Note: vsftpd can also be run as a stand-alone service to achieve a faster response time.           &lt;p&gt;           &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian:      &lt;ul&gt;&lt;li&gt;Install: &lt;tt&gt;apt-get install vsftpd&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;VsFTPd is a stand alone service.         &lt;ul&gt;&lt;li&gt;Start: &lt;tt&gt;/etc/init.d/vsftpd start&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Stop: &lt;tt&gt;/etc/init.d/vsftpd stop&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Restart: &lt;tt&gt;/etc/init.d/vsftpd restart&lt;/tt&gt;            &lt;br /&gt;(Use this command after making configuration file changes)         &lt;/li&gt;&lt;/ul&gt;     &lt;/li&gt;&lt;/ul&gt;      &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; For more on starting/stopping/configuring Linux services, see the        &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;YoLinux tutorial on the Linux init process and service activation&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Configuration files:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;vsFTPd  configuration file:            &lt;ul&gt;&lt;li&gt;Fedora Core / Red Hat: &lt;tt&gt;/etc/vsftpd/vsftpd.conf&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt;S.u.S.e. / Ubuntu (dapper/hardy) / Debian: &lt;tt&gt;/etc/vsftpd.conf&lt;/tt&gt;           &lt;/li&gt;&lt;/ul&gt;  Default for Fedora Core 3:           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;anonymous_enable=YES            &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Anonymous FTP allowed by default if you comment this out. Default directory used: &lt;tt&gt;/var/ftp&lt;/tt&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;local_enable=YES                &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment this to allow local users to log in with FTP.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;                               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;  Must also set SELinux boolean: setsebool -P ftp_home_dir 1&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;write_enable=YES                &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment this to enable any form of FTP write or upload command.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;local_umask=022                 &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Default is 077. Umask 022 is used by most other ftpd&#39;s.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#anon_upload_enable=YES         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment to allow the anonymous FTP user to upload files.&lt;br /&gt;                                 Requires the above global write enabled. Directory must also be writable by user.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#anon_mkdir_write_enable=YES    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment this to allow the anonymous FTP user to be able to create new directories.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;dirmessage_enable=YES           &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Activate directory messages.&lt;br /&gt;                                 Messages given to remote users when they enter certain directories&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;xferlog_enable=YES              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Activate logging of uploads/downloads.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;connect_from_port_20=YES        &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- PORT transfer connections originate from port 20 (ftp-data)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#chown_uploads=YES              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uploaded anonymous files set to a specified owner. (not root)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#chown_username=&lt;i&gt;whoever&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;#xferlog_file=/var/log/vsftpd.log &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Specify logfile explicitly. Default is &lt;tt&gt;/var/log/vsftpd.log&lt;/tt&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;xferlog_std_format=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Output to log file in standard ftpd xferlog format&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#idle_session_timeout=600       &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Set timing out for an idle session.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#data_connection_timeout=120    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Set timing out for an idle data connection. Port 20&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#nopriv_user=ftpsecure          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Run ftp server as an isolated and unprivileged user.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# Enable this and the server will recognise asynchronous ABOR requests. Not&lt;br /&gt;# recommended for security (the code is non-trivial). Not enabling it, may confuse older FTP clients.&lt;br /&gt;#async_abor_enable=YES&lt;br /&gt;&lt;br /&gt;#ascii_upload_enable=YES        &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Improve performance by disabling ASCII mode. Disables command &quot;ascii&quot; and &quot;SIZE /big/file&quot;.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#ascii_download_enable=YES&lt;br /&gt;&lt;br /&gt;#ftpd_banner=Welcome to YoLinux &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Customize the login banner string.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#deny_email_enable=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Disallow specified anonymous e-mail addresses. Used to combat certain DoS attacks.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#banned_email_file=/etc/vsftpd.banned_emails  &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;(Ubuntu default. Red Hat: /etc/vsftpd/banned_emails)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#chroot_list_enable=YES         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- List users chroot()&#39;d to their home directory. If &quot;NO&quot;, list users not chroot()&#39;d.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#chroot_list_file=/etc/vsftpd.chroot_list     &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;(Ubuntu default. Red Hat: /etc/vsftpd/chroot_list)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ls_recurse_enable=YES           &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Allow &quot;ls -R&quot; recursive directory list. Default is disabled.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;pam_service_name=vsftpd&lt;br /&gt;&lt;br /&gt;userlist_enable=YES             &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- (Ubuntu Default) Deny users specified in file &lt;tt&gt;/etc/vsftpd.user_list&lt;/tt&gt;&lt;br /&gt;                                 If &quot;&lt;tt&gt;userlist_enable=NO&lt;/tt&gt;&quot; then allow specified users.&lt;/span&gt;&lt;br /&gt;                                 Red Hat: /etc/vsftpd/user_list&lt;/b&gt;&lt;br /&gt;#deny_email_enable=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Disallow specified anonymous e-mail addresses. Used to combat certain DoS attacks.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;listen=YES                      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Enable for standalone mode as opposed to an xinetd service.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;                               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;  Must set SELinux boolean: setsebool -P ftpd_is_daemon 1&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;tcp_wrappers=YES&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Restart the FTP service if the config file is changed: &lt;tt&gt;service vsftpd restart&lt;/tt&gt; (or: &lt;tt&gt;/etc/init.d/vsftpd restart&lt;/tt&gt;)                  &lt;p&gt;               &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: vsftp does NOT support comments on the same line as a directive. i.e.:               &lt;/p&gt;               &lt;dl&gt;&lt;dd&gt;&lt;tt&gt;directive=XXX    # comment&lt;/tt&gt;                 &lt;/dd&gt;&lt;/dl&gt;                &lt;p&gt;               &lt;a href=&quot;http://vsftpd.beasts.org/vsftpd_conf.html&quot;&gt;vsftp.conf man page&lt;/a&gt;               &lt;/p&gt;             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Specify list of local users chrooted to their home directories:             &lt;ul&gt;&lt;li&gt;Red Hat: &lt;tt&gt;/etc/vsftpd/vsftpd/chroot_list&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu: &lt;tt&gt;/etc/vsftpd/vsftpd.chroot_list&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; (Requires: &lt;tt&gt;chroot_list_enable=YES&lt;/tt&gt;)           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;i&gt;user1&lt;br /&gt;user2&lt;br /&gt;...&lt;br /&gt;user-n&lt;/i&gt;&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  If &lt;tt&gt;userlist_enable=NO&lt;/tt&gt;, then specify users not to be chroot&#39;d..             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Specify list of users:             &lt;ul&gt;&lt;li&gt;Red Hat: &lt;tt&gt;/etc/vsftpd/user_list&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu: &lt;tt&gt;/etc/vsftpd.user_list&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; (Deny list of users requires: &lt;tt&gt;userlist_enable=YES&lt;/tt&gt;)    &lt;br /&gt;Also see PAM configuration below.           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bg style=&quot;color:#c0c0c0;&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;root&lt;br /&gt;bin&lt;br /&gt;daemon&lt;br /&gt;adm&lt;br /&gt;lp&lt;br /&gt;sync&lt;br /&gt;shutdown&lt;br /&gt;halt&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  If &lt;tt&gt;userlist_enable=NO&lt;/tt&gt;, then specify valid users.             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;PAM configuration file Fedora Core 3: &lt;tt&gt;/etc/pam.d/vsftpd&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;#%PAM-1.0&lt;br /&gt;auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed&lt;br /&gt;auth       required     pam_stack.so service=system-auth&lt;br /&gt;auth       required     pam_shells.so&lt;br /&gt;account    required     pam_stack.so service=system-auth&lt;br /&gt;session    required     pam_stack.so service=system-auth&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  This causes PAM to check &lt;tt&gt;/etc/vsftpd.ftpusers&lt;/tt&gt; for users who are denied. This duplicates &lt;tt&gt;/etc/vsftpd.user_list&lt;/tt&gt;. Speciy user in both files as PAM is independent of vsftpd configuration.               &lt;p&gt;               &lt;/p&gt; PAM authentication configuration file: &lt;tt&gt;ftpusers&lt;/tt&gt; &lt;ul&gt;&lt;li&gt;Red Hat: &lt;tt&gt;/etc/vsftpd/ftpusers&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu: &lt;tt&gt;/etc/vsftpd.ftpusers&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;               &lt;table width=&quot;100%&quot; bg border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot; style=&quot;color:#000000;&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;root&lt;br /&gt;bin&lt;br /&gt;daemon&lt;br /&gt;adm&lt;br /&gt;lp&lt;br /&gt;sync&lt;br /&gt;shutdown&lt;br /&gt;halt&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;i&gt;&lt;b&gt;user6&lt;/b&gt;&lt;/i&gt;     &lt;i&gt;&lt;b&gt;&lt;span style=&quot;color:#009900;&quot;&gt;- Users to deny&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;user8&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Logrotate configuration file: &lt;tt&gt;/etc/logrotate.d/vsftpd.log&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt; &lt;pre&gt;/var/log/xferlog {&lt;br /&gt;   # ftpd doesn&#39;t handle SIGHUP properly&lt;br /&gt;   nocompress&lt;br /&gt;   missingok&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Sample vsFTPd configurations:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Anonymous download FTP server configuration: &lt;tt&gt;/etc/vsftpd/vsftpd.conf&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;# Access rights&lt;br /&gt;anonymous_enable=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Turn on anonymous FTP&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chown_uploads=YES             &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uploaded files owned by an assigned user&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chown_username=ftp            &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uploaded files owned by this assigned user&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;local_enable=NO&lt;br /&gt;write_enable=NO               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- No upload of files system changes allowed&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;anon_upload_enable=NO&lt;br /&gt;anon_mkdir_write_enable=NO&lt;br /&gt;anon_other_write_enable=NO&lt;br /&gt;# Security&lt;br /&gt;anon_world_readable_only=YES&lt;br /&gt;connect_from_port_20=YES&lt;br /&gt;force_dot_files=NO&lt;br /&gt;guest_enable=NO&lt;br /&gt;hide_ids=YES&lt;br /&gt;pasv_min_port=50000&lt;br /&gt;pasv_max_port=60000&lt;br /&gt;# Features&lt;br /&gt;xferlog_enable=YES&lt;br /&gt;ls_recurse_enable=NO&lt;br /&gt;ascii_download_enable=NO&lt;br /&gt;async_abor_enable=YES&lt;br /&gt;# Performance&lt;br /&gt;one_process_model=NO&lt;br /&gt;idle_session_timeout=120&lt;br /&gt;data_connection_timeout=300&lt;br /&gt;accept_timeout=60&lt;br /&gt;connect_timeout=60&lt;br /&gt;max_per_ip=4&lt;br /&gt;anon_max_rate=50000&lt;br /&gt;&lt;br /&gt;pam_service_name=vsftpd&lt;br /&gt;userlist_enable=YES&lt;br /&gt;#enable for standalone mode&lt;br /&gt;listen=YES&lt;br /&gt;tcp_wrappers=YES&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Anonymous logins use the login name &quot;anonymous&quot; and then the user supplies their email address as a password. Any password will be accepted. Used to allow the public to download files from an ftp server.  Generally, no upload is permitted.             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Web hosting configuration: &lt;tt&gt;/etc/vsftpd/vsftpd.conf&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;# Access rights&lt;br /&gt;anonymous_enable=NO&lt;br /&gt;local_enable=YES                              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Allow users to ftp to their home directories&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;write_enable=YES                              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Allow users to STOR,  DELE, RNFR, RNTO, MKD, RMD, APPE and SITE&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;local_umask=022&lt;br /&gt;# Security&lt;br /&gt;connect_from_port_20=YES&lt;br /&gt;force_dot_files=NO&lt;br /&gt;guest_enable=NO                               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Don&#39;t remap user name&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;ftpd_banner=Welcome to Super Duper Hosting    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Customize the login banner string.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chroot_local_user=YES                         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Limit user to browse their own directory only&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chroot_list_enable=YES                        &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Enable list of system / power users&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chroot_list_file=/etc/vsftpd.chroot_list      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Actual list of system / power users&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;hide_ids=YES&lt;br /&gt;pasv_min_port=50000&lt;br /&gt;pasv_max_port=60000&lt;br /&gt;# Features&lt;br /&gt;xferlog_enable=YES&lt;br /&gt;ls_recurse_enable=NO&lt;br /&gt;ascii_download_enable=NO&lt;br /&gt;async_abor_enable=YES&lt;br /&gt;dirmessage_enable=YES                         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Message greeting held in file .message or specify with message_file=...&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;# Performance&lt;br /&gt;one_process_model=NO&lt;br /&gt;idle_session_timeout=120&lt;br /&gt;data_connection_timeout=300&lt;br /&gt;accept_timeout=60&lt;br /&gt;connect_timeout=60&lt;br /&gt;max_per_ip=4&lt;br /&gt;#&lt;br /&gt;pam_service_name=vsftpd&lt;br /&gt;userlist_enable=YES&lt;br /&gt;#enable for standalone mode&lt;br /&gt;listen=YES&lt;br /&gt;tcp_wrappers=YES&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Specify list of local users chrooted to their home directories: &lt;tt&gt;/etc/vsftpd/vsftpd.chroot_list&lt;/tt&gt;    &lt;br /&gt;Ubuntu typically: &lt;tt&gt;/etc/vsftpd.chroot_list&lt;/tt&gt;    &lt;br /&gt;(Requires: &lt;tt&gt;chroot_list_enable=YES&lt;/tt&gt;)           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;i&gt;user1&lt;br /&gt;user2&lt;br /&gt;...&lt;br /&gt;user-n&lt;/i&gt;&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  If &lt;tt&gt;userlist_enable=NO&lt;/tt&gt;, then specify users not to be chroot&#39;d..             &lt;/dd&gt;&lt;/dl&gt;                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt; &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Mispelling a directive will cause vsftpd to fail with little warning. &lt;/p&gt; &lt;p&gt; File: &lt;tt&gt;.message&lt;/tt&gt; &lt;/p&gt; &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;A NOTE TO USERS UPLOADING FILES:&lt;br /&gt;  File names may consist of letters (a-z, A-Z), numbers (0-9),&lt;br /&gt;  an under score (&quot;_&quot;), dash (&quot;-&quot;) or period (&quot;.&quot;) only.&lt;br /&gt;  The file name may not begin with a period or dash.&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt;         &lt;p&gt;       &lt;b&gt;Test if vsftp is listening:&lt;/b&gt; &lt;tt&gt;netstat -a | grep ftp&lt;/tt&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;[root]# netstat -a | grep ftp&lt;br /&gt;tcp        0      0 *:ftp                       *:*                         LISTEN&lt;br /&gt;&lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;b&gt;Links:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://vsftpd.beasts.org/&quot;&gt;vsFTPd Home Page&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-2.0.3/EXAMPLE/&quot;&gt;Sample configurations&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://vsftpd.beasts.org/vsftpd_conf.html&quot;&gt;vsftp.conf Man page&lt;/a&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;WUFTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;WU-FTPd and FTP user account configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; The wu-ftpd FTP server can be downloaded (binary or source) from it&#39;s home page  at &lt;a href=&quot;http://wu-ftpd.org/&quot;&gt;http://wu-ftpd.org&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt; There are three kinds of FTP logins that wu-ftpd provides:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;anonymous FTP - one logs in with the username &#39;anonymous&#39;         &lt;/li&gt;&lt;li&gt;real FTP  - log in with a real username and password and has access to the entire disk structure.         &lt;/li&gt;&lt;li&gt;guest FTP - one logs in with a real user name and password, but the user is chroot&#39;ed to his home directory and cannot escape from it.  They are constrained to their home directory which also means that they don&#39;t  have access to /bin/ls and other commands on the server.  Thus a local minimalist environment must be set up.         &lt;/li&gt;&lt;/ul&gt;  This tutorial covers &quot;guest&quot; FTP configuration.       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt; The file &lt;tt&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpaccess&quot;&gt;ftpaccess&lt;/a&gt;&lt;/tt&gt; controls the configuration of ftp.       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   # Don&#39;t allow system accounts to log in over ftp&lt;br /&gt;  deny-uid %-99 %65534-&lt;br /&gt;  deny-gid %-99 %65534-&lt;br /&gt;&lt;br /&gt;  class   all   real,guest  *&lt;br /&gt;  email webmaster@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  loginfails 5&lt;br /&gt;&lt;br /&gt;  readme  README*    login&lt;br /&gt;  readme  README*    cwd=*&lt;br /&gt;  message /welcome.msg            login&lt;br /&gt;  message .message                cwd=*&lt;br /&gt;&lt;br /&gt;  compress        yes             all&lt;br /&gt;  tar             yes             all&lt;br /&gt;  chmod           no              guest,anonymous&lt;br /&gt;  delete          no              anonymous    # delete files permission?&lt;br /&gt;  overwrite       no              anonymous    # overwrite files permission?&lt;br /&gt;  rename          no              anonymous    # rename files permission?&lt;br /&gt;  delete          yes             guest        # delete files permission?&lt;br /&gt;  overwrite       yes             guest        # overwrite files permission?&lt;br /&gt;  rename          yes             guest        # rename files permission?&lt;br /&gt;  umask           no              guest        # umask permission?&lt;br /&gt;&lt;br /&gt;  log transfers anonymous,real inbound,outbound&lt;br /&gt;&lt;br /&gt;  shutdown /etc/shutmsg&lt;br /&gt;&lt;br /&gt;  passwd-check rfc822 warn&lt;br /&gt;&lt;br /&gt;  # Must also create message file /etc/pathmsg of the guest directory.&lt;br /&gt;  # In this case it refers to /home/user1/public_html/etc/pathmsg.&lt;br /&gt;  path-filter  guest /etc/pathmsg  ^[-A-Za-z0-9_\.]*$  ^\.  ^-&lt;br /&gt;  limit all 2&lt;br /&gt;  noretrieve passwd .htaccess core    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Do not allow users to download files of these names&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  limit-time * 20&lt;br /&gt;  byte-limit in 5000                  &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Limit file size&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  guestuser *      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Set system user default to be categorized as a &quot;guest&quot;. A &quot;real&quot; user can roam the system. Guestuser is chrooted.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  realgroup regularuserx regularusery &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Assign real user privileges to members of groups &quot;regularuserx&quot; and &quot;regularusery&quot;.&lt;br /&gt;                                        Visibility of the whole file system and subject to regular UNIX file permissions&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  realuser user4                      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Assign real user privileges to user id &quot;user4&quot;. &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  restricted-uid &lt;b&gt;user1&lt;/b&gt; user2 user3    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Restricts FTP to the specified directories&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  guest-root /home/user1/public_html &lt;b&gt;user1&lt;/b&gt;&lt;br /&gt;  guest-root /home/user2/public_html user2&lt;br /&gt;  guest-root /home/user3/public_html user3&lt;br /&gt;&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Note:        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;user1, user2&lt;/tt&gt; and &lt;tt&gt;user3&lt;/tt&gt; refer to login accounts. Use the appropriate login name.         &lt;/li&gt;&lt;li&gt;The above configuration disables anonymous FTP which allows anyone to  perform an FTP login with the id &lt;b&gt;anonymous&lt;/b&gt; and an email address as a password. To enable anonymous FTP, change the &lt;tt&gt;class&lt;/tt&gt; directive to:          &lt;br /&gt;          &lt;dl&gt;&lt;dd&gt;&lt;tt&gt;class   all   real,guest,anonymous  *&lt;/tt&gt;&lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;li&gt;GUI FTP configuration tools:                &lt;ul&gt;&lt;li&gt;&lt;tt&gt;/usr/bin/kwuftpd&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/sbin/linuxconf&lt;/tt&gt;        &lt;br /&gt;(Note: Linuxconf is no longer included with Red Hat 7.3 and later)     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;li&gt;Red Hat Linux assigns users a user id and group id which is the same.     This means that it does not matter if you use a &lt;tt&gt;realuser&lt;/tt&gt; or     &lt;tt&gt;realgroup&lt;/tt&gt; directive as they will act the same.         &lt;/li&gt;&lt;li&gt;Red Hat Linux 7.1 and later uses the xinet daemon to manage ftp connections.     Thus xinetd must be running and configured to support ftp. The      configuration file is &lt;tt&gt;/etc/xinetd.d/wu-ftpd&lt;/tt&gt;.     The command &lt;tt&gt;chkconfig wu-ftpd on&lt;/tt&gt; will make the ftp server available.     See &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInternetSecurity.html#SECURITY&quot;&gt;xinet configuration&lt;/a&gt; for more info.         &lt;/li&gt;&lt;li&gt;Allow overide of &lt;tt&gt;deny-uid&lt;/tt&gt; and/or &lt;tt&gt;deny-gid&lt;/tt&gt;:                 &lt;pre&gt;     allow-uid &lt;b&gt;&lt;i&gt;user-to-allow&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;    allow-gid &lt;b&gt;&lt;i&gt;group-to-allow&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;   &lt;/pre&gt;          &lt;/li&gt;&lt;li&gt;Optional configuration:                &lt;ul&gt;&lt;li&gt;Create a group &lt;tt&gt;ftpchroot&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Add users to this group     &lt;/li&gt;&lt;li&gt;Use directive: &lt;tt&gt;guestgroup ftpchroot&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Flakey ftp behavior,  timeouts, etc?? FTP works best with name resolution of the computer it is  communicating with.  This requires proper &lt;tt&gt;/etc/resolve.conf&lt;/tt&gt; and name server (bind)  configuration, &lt;tt&gt;/etc/hosts&lt;/tt&gt; or NIS/NFS configuration.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt; File &lt;tt&gt;/home/user1/public_html/etc/pathmsg&lt;/tt&gt;:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   A NOTE TO USERS UPLOADING FILES:&lt;br /&gt;  File names may consist of letters (a-z, A-Z), numbers (0-9),&lt;br /&gt;  an under score (&quot;_&quot;), dash (&quot;-&quot;) or period (&quot;.&quot;) only.&lt;br /&gt;  The file name may not begin with a period or dash.&lt;br /&gt;  You have tried to upload a file with an inappropriate name.&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt; The whole point of the chroot directory is to make the  user&#39;s home directory appear to be the root of the filesystem (/) so one could not wander around the filesystem. Configuration of &lt;tt&gt;/etc/ftpaccess&lt;/tt&gt; will limit the user to their respective directories while still offering access to /bin/ls and other system commands  used in FTP operation.       &lt;/p&gt;       &lt;p&gt; As root:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   cd /home/&lt;i&gt;user1&lt;/i&gt;&lt;br /&gt;  mkdir public_html&lt;br /&gt;  chown $1.$1 public_html&lt;br /&gt;  touch .rhosts             &lt;b&gt;- Security protection&lt;/b&gt;&lt;br /&gt;  chmod ugo-xrw .rhosts&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Man Pages:&lt;/h4&gt;        &lt;dl&gt;&lt;dd&gt;           &lt;b&gt;Server:&lt;/b&gt;           &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpd&quot;&gt;ftpd&lt;/a&gt; - Internet File Transfer Protocol server             &lt;/li&gt;&lt;/ul&gt;            &lt;b&gt;File Formats:&lt;/b&gt;           &lt;ul&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpaccess&quot;&gt;ftpaccess&lt;/a&gt; - Configuration file for ftpd             &lt;/li&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpservers&quot;&gt;ftpservers&lt;/a&gt; - ftpd virtual hosting configuration file. (optional)             &lt;/li&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftphosts&quot;&gt;ftphosts&lt;/a&gt; - allow or deny access to certain accounts from various hosts. (optional)             &lt;/li&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpconversions&quot;&gt;ftpconversions&lt;/a&gt; - ftpd conversions database (for tar and compression)             &lt;/li&gt;&lt;li&gt;/var/log/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=xferlog&quot;&gt;xferlog&lt;/a&gt; - FTP server logfile             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftp&quot;&gt;ftp&lt;/a&gt; - File Transfer Client program             &lt;/li&gt;&lt;/ul&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Configuration files: (RH 8.0+)&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;PAM configuration file: &lt;tt&gt;/etc/pam.d/ftp&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;#%PAM-1.0&lt;br /&gt;auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed&lt;br /&gt;auth       required     pam_stack.so service=system-auth&lt;br /&gt;auth       required     pam_shells.so&lt;br /&gt;account    required     pam_stack.so service=system-auth&lt;br /&gt;session    required     pam_stack.so service=system-auth&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Xinetd configuration file: &lt;tt&gt;/etc/xinetd.d/wu-ftpd&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;service ftp&lt;br /&gt;{&lt;br /&gt;       disable = no&lt;br /&gt;       socket_type             = stream&lt;br /&gt;       wait                    = no&lt;br /&gt;       user                    = root&lt;br /&gt;       server                  = /usr/sbin/in.ftpd&lt;br /&gt;       server_args             = -l -a&lt;br /&gt;       log_on_success          += DURATION USERID&lt;br /&gt;       log_on_failure          += USERID&lt;br /&gt;       nice                    = 10&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Note: wu-FTPd is controlled by xinetd and not a stand alone service like vsFTPd.             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Logrotate configuration file: &lt;tt&gt;/etc/logrotate.d/ftpd&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;/var/log/xferlog {&lt;br /&gt;   nocompress&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;More information:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.wu-ftpd.org/&quot;&gt;WU-FTPD Development Group  Home Page&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.landfield.com/wu-ftpd/&quot;&gt;More resources&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.academ.com/academ/wu-ftpd/&quot;&gt;Academ Consulting&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.cetis.hvu.nl/%7Ekoos/wu-ftpd-faq.html&quot;&gt;FTP FAQ&lt;/a&gt; - Koos van den Hout&#39;s         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.kegel.com/dkftpbench/&quot;&gt;dkftpbench&lt;/a&gt; - FTP benchmark program to give you an idea as to how many simultaneous dialup clients a server can support.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://peterbenjamin.com/seminars/crossplatform/texteol.html&quot;&gt;FTP and text file type conversions: End Of Line Characters&lt;/a&gt; - by Peter Benjamin         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://chrootssh.sourceforge.net/docs/chrootedsftp.html&quot;&gt;Chrooted sftp (ssl) project&lt;/a&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Man pages on related FTP commands and files:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=chroot&quot;&gt;chroot&lt;/a&gt; - Run with a special root directory         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpcount&quot;&gt;ftpcount&lt;/a&gt; - Show number of concurrent users.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpshut&quot;&gt;ftpshut&lt;/a&gt; - close down the ftp servers at a given time         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftprestart&quot;&gt;ftprestart&lt;/a&gt; - Restart previously shutdown ftp servers         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpwho&quot;&gt;ftpwho&lt;/a&gt; - show current process information for each ftp user         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=privatepw&quot;&gt;privatepw&lt;/a&gt; - Change WU-FTPD Group Access File Information (admin command)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Other FTP daemons:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.ftp4all.de/v3/noframes/index.html&quot;&gt;FTP4All&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.crushftp.com/&quot;&gt;CrushFTP&lt;/a&gt; - Java/cross platform         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://ipswitch.com/Products/file-transfer.html&quot;&gt;WS_FTP&lt;/a&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;FTPPITFALLS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;FTP Pitfalls:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; If you get the following error:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;ftp&gt; ls&lt;br /&gt;227 Entering Passive Mode (208,188,34,109,208,89)&lt;br /&gt;ftp: connect: No route to host&lt;br /&gt;&lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;  This means you have firewall issues most probably on the FTP server itself. Start by removing the firewall &quot;iptables&quot; rules: &lt;tt&gt;iptables -F&lt;/tt&gt; Add rules until you discover what is causing the problem.       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Passive mode:&lt;/h4&gt;  Passive mode can also help one past the rules:       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;ftp&gt; passive&lt;br /&gt;Passive mode on.&lt;br /&gt;&lt;/pre&gt;  This toggles passive mode on and off. When on, FTP will be limited to ports specified in the vsftpd configuration file: &lt;tt&gt;vsftpd.conf&lt;/tt&gt; with the parameters &lt;tt&gt;pasv_min_port&lt;/tt&gt; and &lt;tt&gt;pasv_max_port&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Firewall connection tracking module:&lt;/h4&gt;        &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;# cat /etc/sysconfig/iptables-config | grep ip_nat_ftp&lt;br /&gt;IPTABLES_MODULES=&quot;ip_conntrack_ftp&quot;&lt;br /&gt;&lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;NAT firewall modules:&lt;/h4&gt;  You can also try adding &lt;tt&gt;ip_nat_ftp&lt;/tt&gt; to the list of autoloaded modules: (This will also load the dependancy: &lt;tt&gt;ip_conntrack_ftp&lt;/tt&gt;.)       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;# cat /etc/sysconfig/iptables-config | grep ip_nat_ftp&lt;br /&gt;IPTABLES_MODULES=&quot;ip_nat_ftp&quot;&lt;br /&gt;&lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;  Then restart the firewall: &lt;tt&gt;/etc/init.d/iptables condrestart&lt;/tt&gt;       &lt;p&gt; FTP will change ports during use. The &lt;tt&gt;ip_conntrack_ftp&lt;/tt&gt; module will consider each connection &quot;RELATED&quot;. If iptables allows RELATED and ESTABLISHED connections then FTP will work. i.e. rule: &lt;tt&gt;/etc/sysconfig/iptables&lt;/tt&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;&lt;/pre&gt;         &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt; &lt;/p&gt;&lt;h4&gt;FTP fails because it can not change to the users home directory:&lt;/h4&gt;  &lt;dl&gt;&lt;dd&gt; Error: &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;[user1@nodex ~]$ ftp &lt;b&gt;&lt;i&gt;node.domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Connected to XXX.XXX.XXX.XXX.&lt;br /&gt;530 Please login with USER and PASS.&lt;br /&gt;530 Please login with USER and PASS.&lt;br /&gt;KERBEROS_V4 rejected as an authentication type&lt;br /&gt;Name (XXX.XXX.XXX.XXX:user1):&lt;br /&gt;331 Please specify the password.&lt;br /&gt;Password:&lt;br /&gt;500 OOPS: cannot change directory:/home/user1&lt;br /&gt;Login failed.&lt;br /&gt;ftp&gt; bye&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt; This is often a result of SELinux preventing the vsftpd process from accesing the user&#39;s home directory.  As root, grant access with the following command:&lt;br /&gt;&lt;tt&gt;setsebool -P ftp_home_dir 1&lt;/tt&gt; &lt;br /&gt;Followed by: &lt;tt&gt;service vsftpd restart&lt;/tt&gt; &lt;/p&gt;&lt;p&gt; Test your vsftpd SELinux settings: &lt;tt&gt;getsebool -a | grep ftp&lt;/tt&gt; &lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;allow_ftpd_anon_write --&gt; off&lt;br /&gt;allow_ftpd_full_access --&gt; off&lt;br /&gt;allow_ftpd_use_cifs --&gt; off&lt;br /&gt;allow_ftpd_use_nfs --&gt; off&lt;br /&gt;allow_tftp_anon_write --&gt; off&lt;br /&gt;ftp_home_dir --&gt; on&lt;br /&gt;ftpd_disable_trans --&gt; off&lt;br /&gt;ftpd_is_daemon --&gt; on&lt;br /&gt;httpd_enable_ftp_server --&gt; off&lt;br /&gt;tftpd_disable_trans --&gt; off&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;  &lt;p&gt; &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpd_selinux&quot;&gt;FTPd SELinux man page&lt;/a&gt; &lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt;         &lt;p&gt;       &lt;a name=&quot;FTPCLIENTS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;FTP Linux clients:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://freshmeat.net/redir/kbear/14193/url_homepage/kbear.sourceforge.net&quot;&gt;kbear&lt;/a&gt;: GUI KDE based client. Connect to multiple servers, transfer files, directory browsing, file content browsing. Comes with S.U.S.e. Linux. &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.gftp.org/&quot;&gt;gftp&lt;/a&gt;: GUI GTK+ Multithreaded client. File transfer directory browsing and compare. Multiple protocols: FTP, FTPS (control connection only), HTTP, HTTPS, SSH and FSP protocols. Proxy support. Comes with Red Hat / Fedora Core. &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftp&quot;&gt;ftp&lt;/a&gt;: (&lt;tt&gt;/usr/kerberos/bin/ftp&lt;/tt&gt;) kerberos enabled console ftp client. (RPM package FC3: krb5-workstation)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;USERSECURITY&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Basic user security:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; When hosting web sites, there is no need to grant a shell account which only  allows the server to have more potential security holes. Current systems can specify the user to have only FTP access with no shell by granting them the &quot;shell&quot; &lt;tt&gt;/sbin/nologin&lt;/tt&gt; provided with the system or the &quot;ftponly&quot; shell described below. The shell can be specified in the file &lt;tt&gt;/etc/passwd&lt;/tt&gt; of when creting a user with the command &lt;tt&gt;adduser -s /sbin/nologin &lt;i&gt;user-id&lt;/i&gt;&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Red Hat 7.3 server with wu-ftp server 2.6.2-5 does not support this configuration to prevent shell access. It requires users to have a real user shell.  i.e. &lt;tt&gt;/bin/bash&lt;/tt&gt; It works great in older and current Red Hat versions.  If it works for you, use it, as it is more secure to deny the user shell access. You can always deny telnet access. You should NOT be using this problem ridden version of ftpd. Use the latest wu-ftpd-2.6.2-11 which supports users with shell &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Ubuntu Dapper/Hardy - Setting the shell to the preconfigured shell &lt;tt&gt;/bin/false&lt;/tt&gt; will NOT allow vsftp access. One must create the shell &quot;ftponly&quot; as defined below to allow vsftp access with no shell.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;ol&gt;&lt;li&gt;Disable remote telnet login access allowing FTP access only:                &lt;p&gt;     Change the shell for the user in &lt;tt&gt;/etc/passwd&lt;/tt&gt; from &lt;tt&gt;/bin/bash&lt;/tt&gt; to be &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt;.     &lt;/p&gt;     &lt;dl&gt;&lt;dd&gt;          &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;     &lt;tbody&gt;     &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;     &lt;td&gt;     &lt;pre&gt;...&lt;br /&gt;user1:x:502:503::/home/user1:/opt/bin/ftponly&lt;br /&gt;...&lt;br /&gt;   &lt;/pre&gt;     &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;     &lt;/table&gt;     &lt;/dd&gt;&lt;/dl&gt;     &lt;p&gt;     Create file: &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt;.     &lt;br /&gt;    Protection set to &lt;tt&gt;-rwxr-xr-x    1 root     root       &lt;/tt&gt;    &lt;br /&gt;    with the command: &lt;tt&gt;chmod ugo+x /opt/bin/ftponly&lt;/tt&gt;    &lt;br /&gt;    Contents of file:     &lt;/p&gt;     &lt;dl&gt;&lt;dd&gt;     &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;     &lt;tbody&gt;     &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;     &lt;td&gt;     &lt;pre&gt;   #!/bin/sh&lt;br /&gt;#&lt;br /&gt;# ftponly shell&lt;br /&gt;#&lt;br /&gt;trap &quot;/bin/echo Sorry; exit 0&quot; 1 2 3 4 5 6 7 10 15&lt;br /&gt;#&lt;br /&gt;Admin=root@your-domain.com&lt;br /&gt;#System=`/bin/hostname`@`/bin/domainname`&lt;br /&gt;#&lt;br /&gt;/bin/echo&lt;br /&gt;/bin/echo &quot;********************************************************************&quot;&lt;br /&gt;/bin/echo &quot;    You are NOT allowed interactive access.&quot;&lt;br /&gt;/bin/echo&lt;br /&gt;/bin/echo &quot;     User accounts are restricted to ftp and web access.&quot;&lt;br /&gt;/bin/echo&lt;br /&gt;/bin/echo &quot;  Direct questions concerning this policy to $Admin.&quot;&lt;br /&gt;/bin/echo &quot;********************************************************************&quot;&lt;br /&gt;/bin/echo&lt;br /&gt;#&lt;br /&gt;# C&#39;ya&lt;br /&gt;#&lt;br /&gt;exit 0&lt;br /&gt;   &lt;/pre&gt;      &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;     &lt;/table&gt;      &lt;/dd&gt;&lt;/dl&gt;      &lt;p&gt;   The last step is to add this to the list of valid shells on the system.  &lt;br /&gt;   Add the line &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt; to &lt;tt&gt;/etc/shells&lt;/tt&gt;.   &lt;/p&gt;           &lt;p&gt;   Sample file contents: &lt;tt&gt;/etc/shells&lt;/tt&gt;     &lt;/p&gt;     &lt;dl&gt;&lt;dd&gt;     &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;     &lt;tbody&gt;     &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;     &lt;td&gt;     &lt;pre&gt;/bin/bash&lt;br /&gt;/bin/bash1&lt;br /&gt;/bin/tcsh&lt;br /&gt;/bin/csh&lt;br /&gt;/opt/bin/ftponly&lt;br /&gt;   &lt;/pre&gt;     &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;     &lt;/table&gt;      &lt;/dd&gt;&lt;/dl&gt;    See &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=shells&quot;&gt;man page on /etc/shells&lt;/a&gt;.           &lt;p&gt; An alternative would be to assign the shell &lt;tt&gt;/bin/false&lt;/tt&gt; or &lt;tt&gt;/sbin/nologin&lt;/tt&gt; which became  available in later releases of Red Hat, Debian and Ubuntu. In this case the shell &lt;tt&gt;/bin/false&lt;/tt&gt; or &lt;tt&gt;/sbin/nologin&lt;/tt&gt; would have to be added to &lt;tt&gt;/etc/shells&lt;/tt&gt; to allow them to be used as a valid shell for FTP while disabling ssh or telnet access.           &lt;/p&gt;           &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialQuotas.html&quot;&gt;Set file quotas to limit user account.&lt;/a&gt;         &lt;/li&gt;&lt;/ol&gt;        &lt;p&gt; For more on Linux security see the: &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInternetSecurity.html&quot;&gt;&lt;b&gt;YoLinux.com Internet web site Linux server security tutorial&lt;/b&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;a name=&quot;DNS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Domain Name Server (DNS) configuration using Bind version 8 or 9:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; Two of the most popular ways to configure the program Bind  (Berkeley Internet Domain software) to perform DNS  services is in the role of (1) ISP or (2) Web Host.        &lt;/p&gt;       &lt;ol&gt;&lt;li&gt;In an ISP configuration for clients (web surfers) conected to the internet, the DNS server must resolve IP addresses for any  URL the user wishes to visit. (See &lt;a href=&quot;http://www.yolinux.com/HOWTO/DNS-HOWTO.html#s3&quot;&gt;DNS caching server&lt;/a&gt;)         &lt;/li&gt;&lt;li&gt;In a purely web hosting configuration, Bind will only resolve for the IP addresses of the domains which are being hosted. This is the configuration which will be discussed and is often called an &quot;Authoritative-only Nameserver&quot;.         &lt;/li&gt;&lt;/ol&gt;        &lt;p&gt;When resolving IP addresses for a domain, Internic is expecting a &quot;Primary&quot; and a &quot;Secondary&quot; DNS name server. (Sometimes called Master and Slave) Each DNS name server requires the file /etc/named.conf and the files it points to. This is typically two separate computer systems hosted on two different IP addresses. It is not necesary that the Linux servers be dedicated to DNS as they may run a web server, mail server, etc. &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Note on Bind versions:&lt;/b&gt; Red Hat versions 6.x used Bind version 8.  Release 7.1 of Red Hat began using Bind version 9 and the GUI configuration  tool &lt;tt&gt;bindconf&lt;/tt&gt; was introduced for those of you that like a pretty  point and click interface for configuration.       &lt;/p&gt;       &lt;p&gt; Installation Packages:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat / Fedora Core / CentOS: &lt;tt&gt;bind, bind-chroot, bind-libs, bind-utils, system-config-bind&lt;/tt&gt;             &lt;ul&gt;&lt;li&gt;bind-chroot: Security jail for operation of bind.&lt;/li&gt;&lt;li&gt;bind-utils: Utility commands like &lt;tt&gt;nslookup, host, dig&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;system-config-bind: GUI config tool &lt;tt&gt;system-config-bind&lt;/tt&gt; and related configuration files (&lt;tt&gt;/etc/security/console.apps/bindconf&lt;/tt&gt;).&lt;/li&gt;&lt;li&gt;caching-nameserver: We will not be covering this as it is not required for web hosting. This is used by internet providers so their clients can cache the DNS entries of the sites they are visiting.&lt;/li&gt;&lt;/ul&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian: &lt;tt&gt;bind9&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuration files:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt;       &lt;b&gt;Red Hat / Fedora / CentOS:&lt;/b&gt;       &lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;       &lt;tbody&gt;       &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;&lt;th&gt;File&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Directory&lt;/th&gt;&lt;th&gt;Chrooted Directory&lt;/th&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named.conf&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;br /&gt;(See default file &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/etc/named.conf&lt;/tt&gt;)&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named.root.hints&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Configuration for recursive service. Required for all zones.&lt;br /&gt;(See default file &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/etc/named.root.hints&lt;/tt&gt;)&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Red Hat system variables.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/sysconfig/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;no change&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;rndc.key&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Zone files&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Configuration files for each domain. Create this file to resolve host name internet queries i.e. define IP address of web (www) and mail servers in the domain.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/var/named/&lt;/td&gt;&lt;/tr&gt;       &lt;/tbody&gt;       &lt;/table&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Debian / Ubuntu:&lt;/b&gt;       &lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;       &lt;tbody&gt;       &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;&lt;th&gt;File&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Directory&lt;/th&gt;&lt;th&gt;Chrooted Directory&lt;/th&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named.conf&lt;br /&gt;named.conf.options&lt;br /&gt;named.conf.local&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/bind/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/chroot/etc/bind/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;rndc.key&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Zone files&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Configuration files for each domain.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/data/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/chroot/var/bind/data/&lt;/td&gt;&lt;/tr&gt;       &lt;/tbody&gt;       &lt;/table&gt;       &lt;/dd&gt;&lt;/dl&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Primary server (master):&lt;/h3&gt;       &lt;b&gt;File: named.conf&lt;/b&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat / Fedora Core / CentOS: &lt;tt&gt;/etc/named.conf&lt;/tt&gt; (chroot dir: &lt;tt&gt;/var/named/chroot/etc/named.conf&lt;/tt&gt;) and &lt;tt&gt;/etc/sysconfig/named&lt;/tt&gt; for system variables.          &lt;br /&gt;Ubuntu / Debian: &lt;tt&gt;/etc/bind/named.conf&lt;/tt&gt; Place local definitions in &lt;tt&gt;/etc/bind/named.conf.options&lt;/tt&gt; and &lt;tt&gt;/etc/bind/named.conf.local&lt;/tt&gt;           &lt;p&gt;           &lt;/p&gt;           Simple example: (no views)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt;           &lt;pre&gt;options {                                     &lt;b&gt;&lt;i&gt;- Ubuntu stores options in /etc/bind/named.conf.options&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       version &quot;Bind&quot;;                       &lt;b&gt;&lt;i&gt;- Don&#39;t disclose real version to hackers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       directory &quot;/var/named&quot;;               &lt;b&gt;&lt;i&gt;- Specified so relative path names can be used. Full path names still allowed.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       allow-transfer { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };  &lt;b&gt;&lt;i&gt;- IP address of secondary DNS&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       auth-nxdomain no;                     &lt;b&gt;&lt;i&gt;- conform to RFC1035. (default)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       &lt;b&gt;&lt;span style=&quot;color:#008800;&quot;&gt;fetch-glue no;&lt;/span&gt;&lt;/b&gt;                  &lt;b&gt;&lt;i&gt;- &lt;span style=&quot;color:#ff0000;&quot;&gt;Bind 8 only!&lt;/span&gt; Not used by version 9&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;localhost&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.local&quot;;&lt;br /&gt;};&lt;br /&gt;zone &quot;0.0.127.in-addr.arpa&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.127&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;{                 &lt;b&gt;&lt;i&gt;- Ubuntu separates the zone definitions into /etc/bind/named.conf.local &lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       type master;                    &lt;b&gt;&lt;i&gt;- Specify master, slave, forward or hint&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       file &quot;data/named.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;;&lt;br /&gt;       notify yes;                     &lt;b&gt;&lt;i&gt;- slave servers are notified when the zone is updated.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       allow-update { none; };         &lt;b&gt;&lt;i&gt;- deny updates from other hosts (default: none)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       allow-query { any; };           &lt;b&gt;&lt;i&gt;- allow clients to query this server (default: any)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;{&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;data/named.&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;;&lt;br /&gt;       notify yes;&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Note: &lt;ul&gt;&lt;li&gt; The omission of &lt;tt&gt;zone &quot;.&quot;&lt;/tt&gt;. Required if providing a recursive service. &lt;/li&gt;&lt;li&gt; Ubuntu includes the separated file of zone directives using the directive:     &lt;br /&gt;&lt;tt&gt;include &quot;/etc/bind/named.conf.local&quot;;&lt;/tt&gt; &lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt; &lt;b&gt;BIND Views:&lt;/b&gt; The BIND naming service can support &quot;views&quot; which allow various sub-networks (i.e. private internal or public external networks) to have a different domain name resolution result. &lt;ul&gt;&lt;li&gt;If no views are specified then use the configuration shown above.  &lt;/li&gt;&lt;li&gt;The match-up between the &quot;view&quot; and the view client which receives the DNS information is specified by the &lt;tt&gt;match-clients&lt;/tt&gt; statement. &lt;/li&gt;&lt;li&gt;If even one view is specified, then ALL zones MUST be associated with a &quot;view&quot;. &lt;/li&gt;&lt;li&gt;Bind 9 allows for views which allow different zones to be served to different types of clients, localhost, private networks and public networks. This maps to the three view names &quot;&lt;tt&gt;localhost_resolver&lt;/tt&gt;&quot;, &quot;&lt;tt&gt;internal&lt;/tt&gt;&quot; and &quot;&lt;tt&gt;external&lt;/tt&gt;&quot;:     &lt;ul&gt;&lt;li&gt;localhost_resolver: Supports name resolution for the system (localhost) using BIND. Support for use of bind also has to be configured in &lt;tt&gt;/etc/nsswitch.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;internal: User specified Local Area Network (LAN). If not used to support a local private LAN, remove (or comment out) this view. &lt;/li&gt;&lt;li&gt;external: The general public internet defined as client &quot;any&quot;.     &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;If you are only setting up a caching name server, then only specify the view &quot;localhost_resolver&quot; (delete all other views). &lt;/li&gt;&lt;li&gt;In order to support a DNS for internet domains using views, one will have to configure an &quot;external&quot; view &lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt;           Typical Red Hat Enterprise 5 example: (Bind 9.3.4 with three &quot;views&quot;)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt;           &lt;pre&gt;options&lt;br /&gt;{&lt;br /&gt;       directory &quot;/var/named&quot;; // the default&lt;br /&gt;       dump-file               &quot;data/cache_dump.db&quot;;&lt;br /&gt;       statistics-file         &quot;data/named_stats.txt&quot;;&lt;br /&gt;       memstatistics-file      &quot;data/named_mem_stats.txt&quot;;&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;logging&lt;br /&gt;{&lt;br /&gt;   //  By default, SELinux policy does not allow named to modify the /var/named&lt;br /&gt;   //  directory, so put the default debug log file in data/ :&lt;br /&gt;&lt;br /&gt;       channel default_debug {&lt;br /&gt;               file &quot;data/named.run&quot;;&lt;br /&gt;               severity dynamic;&lt;br /&gt;       };&lt;br /&gt;};&lt;br /&gt;view &quot;localhost_resolver&quot;&lt;br /&gt;{&lt;br /&gt;   //  This view sets up named to be a localhost resolver ( caching only nameserver ).&lt;br /&gt;   //  If all you want is a caching-only nameserver, then you need only define this view:&lt;br /&gt;   match-clients           { localhost; };&lt;br /&gt;   ...&lt;br /&gt;};&lt;br /&gt;view &quot;internal&quot;&lt;br /&gt;{&lt;br /&gt;   // This view will contain zones you want to serve only to &quot;internal&quot; clients&lt;br /&gt;   // that connect via your directly attached LAN interfaces - &quot;localnets&quot; .&lt;br /&gt;   // For local private LAN. Not covered in this tutorial.&lt;br /&gt;   // Delete this view if web hosting with no local LAN.&lt;br /&gt;   match-clients           { localnets; };&lt;br /&gt;   ...&lt;br /&gt;};&lt;br /&gt;key ddns_key&lt;br /&gt;{&lt;br /&gt;       algorithm hmac-md5;&lt;br /&gt;       secret &quot;&lt;i&gt;use /usr/sbin/dns-keygen to generate TSIG keys&lt;/i&gt;&quot;;&lt;br /&gt;};&lt;br /&gt;view    &quot;external&quot;&lt;br /&gt;{&lt;br /&gt;   // This view will contain zones you want to serve only to &quot;external&quot;&lt;br /&gt;   // public internet clients. This is covered below.&lt;br /&gt;   match-clients           { any; };&lt;br /&gt;   ...&lt;br /&gt;   ..&lt;br /&gt;};&lt;br /&gt;         &lt;/pre&gt;           &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;           &lt;/table&gt; &lt;p&gt; &lt;/p&gt;           &lt;b&gt;Default configuration files:&lt;/b&gt; Red Hat may supply the default configuration in: &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/etc/named.conf&lt;/tt&gt;           &lt;ul&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/etc/named.conf /var/named/chroot/etc&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/etc/named.root.hints /var/named/chroot/etc&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;chcon -u system_u -r object_r -t named_conf_t /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.root.hints&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt;           &lt;b&gt;view &quot;localhost_resolver&quot;&lt;/b&gt;: If supporting a caching DNS server (not required to support a web domain) you will also need the files:           &lt;ul&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/etc/named.rfc1912.zones /var/named/chroot/etc&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/localdomain.zones /var/named/chroot/var/named&lt;/tt&gt;          &lt;br /&gt;also from &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/var/named/&lt;/tt&gt;: &lt;tt&gt;localhost.zones, named.local, named.zero, named.broadcast, named.ip6.local, named.root&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt;           &lt;b&gt;view &quot;external&quot;&lt;/b&gt;:  (master) - details -           &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt; &lt;pre&gt;view    &quot;external&quot;&lt;br /&gt;{&lt;br /&gt;/* This view will contain zones you want to serve only to &quot;external&quot; clients&lt;br /&gt;* that have addresses that are not on your directly attached LAN interface subnets:&lt;br /&gt;*/&lt;br /&gt;       match-clients           { any; };&lt;br /&gt;       match-destinations      { any; };&lt;br /&gt;       allow-transfer { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };  &lt;b&gt;&lt;i&gt;- IP address of secondary DNS&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       // you&#39;d probably want to deny recursion to external clients, so you don&#39;t&lt;br /&gt;       // end up providing free DNS service to all takers&lt;br /&gt;&lt;br /&gt;       // all views must contain the root hints zone:&lt;br /&gt;       include &quot;/etc/named.root.hints&quot;;&lt;br /&gt;&lt;br /&gt;       // These are your &quot;authoritative&quot; external zones, and would probably&lt;br /&gt;       // contain entries for just your web and mail servers:&lt;br /&gt;&lt;br /&gt;       zone &quot;your-domain.com&quot; {&lt;br /&gt;               type master;&lt;br /&gt;               file &quot;/var/named/data/external/named.your-domain.com&quot;;&lt;br /&gt;               notify yes;&lt;br /&gt;               allow-update { none; };&lt;br /&gt;       };&lt;br /&gt;&lt;br /&gt;       &lt;b&gt;&lt;i&gt;// You can also add the zones as a separate file like they do in Ubuntu by adding the following statement&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       include &quot;/etc/named.conf.local&quot;;     &lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;           &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;           &lt;/table&gt;           &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;b&gt;DNS key:&lt;/b&gt; &lt;/p&gt; Use the following command &lt;tt&gt;/usr/sbin/dns-keygen&lt;/tt&gt; to create a key. Add this key to the &quot;secret&quot; statement as follows: &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;key ddns_key&lt;br /&gt;{&lt;br /&gt;       algorithm hmac-md5;&lt;br /&gt;       secret &quot;XlYKYLF5Y7YOYFFFY6YiYYXyFFFFBYYYYFfYYYJiYFYFYYLVrnrWrrrqrrrq&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;/p&gt; Man Pages: &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=named.conf&quot;&gt;named.conf&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;!-- End of named.conf discussion --&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;b&gt;Forward Zone File: /var/named/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt; &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat 9 / CentOS 3: &lt;tt&gt;/var/named/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt;Red Hat EL4/5, Fedora 3+, CentOS 4/5: [Chrooted] &lt;tt&gt;/var/named/chroot/var/named/data/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt;Red Hat EL4/5, Fedora 3+, CentOS 4/5: &lt;tt&gt;/var/named/data/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt;Ubuntu / Debian: &lt;tt&gt;/etc/bind/data/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;b&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;$TTL 604800&lt;/span&gt;&lt;/b&gt;         &lt;b&gt;&lt;i&gt;- Bind 9 (and some of the later versions of Bind 8) requires $TTL statement&lt;/i&gt;. Measured in seconds. This value is 7 days.&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.    IN      SOA  ns1.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.  hostmaster.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;. (&lt;br /&gt;  2000021600 ; serial     &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Many people use year+month+day+integer as a system. Never greater than 2147483647 for a 32 bit processor.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  86400 ; refresh         &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- How often secondary servers (in seconds) should check in for changes in serial number. (86400 sec = 24 hrs)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  7200 ; retry            &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- How long secondary server should wait for a retry if contact failed.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  1209600 ; expire        &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Secondary server to purge info after this length of time.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  86400 ) ; default_ttl   &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- How long data is held in cache by remote servers.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;      IN A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;  &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Note that this is the default IP address of the domain.&lt;br /&gt;                                    I put the web server IP address here so that domain.com points to the same servers as www.domain.com&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;;&lt;br /&gt;; Name servers for the domain&lt;br /&gt;;&lt;br /&gt;      IN NS         ns1.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;      IN NS         ns2.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;;&lt;br /&gt;; Mail server for domain&lt;br /&gt;;&lt;br /&gt;      IN MX    5    mail               &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Identify &quot;mail&quot; as the node handling mail for the domain. Do &lt;b&gt;NOT&lt;/b&gt; specify an IP address!&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;;&lt;br /&gt;; Nodes in domain&lt;br /&gt;;&lt;br /&gt;node1  IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Note that this is the IP address of node1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;ns1    IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Optional: For hosting your own primary name server. Note that this is the IP address of ns1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;ns2    IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Optional: For hosting your own secondary name server. Note that this is the IP address of ns2&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;mail   IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Identify the IP address for node mail.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;      IN MX    5    &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Identify the IP address for mail server named &quot;mail&quot;.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;;&lt;br /&gt;; Aliases to existing nodes in domain&lt;br /&gt;;&lt;br /&gt;www    IN CNAME      node1              &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Define the webserver &quot;www&quot; to be node1.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;ftp    IN CNAME      node1              &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Define the ftp server to be node1.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;        &lt;p&gt; MX records for 3rd party off-site mail servers:       &lt;/p&gt;       &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;       &lt;tbody&gt;       &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;       &lt;td&gt;       &lt;pre&gt;&lt;i&gt;&lt;b&gt;your-domain.com.&lt;/b&gt;&lt;/i&gt;    IN MX  10 &lt;i&gt;mail1.offsitemail.com.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;your-domain.com.&lt;/b&gt;&lt;/i&gt;    IN MX  20 &lt;i&gt;mail2.offsitemail.com.&lt;/i&gt;&lt;br /&gt;     &lt;/pre&gt;       &lt;/td&gt;       &lt;/tr&gt;       &lt;/tbody&gt;       &lt;/table&gt; Append to the above file.       &lt;/dd&gt;&lt;/dl&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Initial configuration:&lt;/b&gt;           Note that Red Hat may supply the default zone configuration in: &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/var/named/&lt;/tt&gt;           &lt;ul&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/localhost.zone /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/localdomain.zone /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.broadcast /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.ip6.local /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.zero /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.local /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.root /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cd  /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;chcon -u system_u -r object_r -t named_cache_t localhost.zone localdomain.zone named.broadcast named.ip6.local named.zero named.root named.local&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;           A file suffix of &quot;zone&quot; is also common i.e. &lt;tt&gt;your-domain.com.zone&lt;/tt&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Secondary server (slave):&lt;/h3&gt;         &lt;b&gt;File: named.conf&lt;/b&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat / Fedora Core / CentOS: &lt;tt&gt;/etc/named.conf&lt;/tt&gt;          &lt;br /&gt;Ubuntu / Debian: &lt;tt&gt;/etc/bind/named.conf&lt;/tt&gt;          &lt;br /&gt;Simple example with no views:           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;options {                               &lt;b&gt;&lt;i&gt;- Ubuntu stores options in /etc/bind/named.conf.options&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       version &quot;Bind&quot;;                 &lt;b&gt;&lt;i&gt;- Don&#39;t disclose real version to hackers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       directory &quot;/var/named&quot;;&lt;br /&gt;       &lt;b&gt;allow-transfer { none; };&lt;/b&gt;       &lt;b&gt;&lt;i&gt;- Slave is not transfering updates to anyone else&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       auth-nxdomain no;               &lt;b&gt;&lt;i&gt;- conform to RFC1035. (default)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       &lt;b&gt;&lt;span style=&quot;color:#008800;&quot;&gt;fetch-glue no;&lt;/span&gt;&lt;/b&gt;                  &lt;b&gt;&lt;i&gt;- &lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;b&gt;Bind 8 only!&lt;/b&gt;&lt;/span&gt; Not used by version 9&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;localhost&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.local&quot;;       &lt;b&gt;&lt;i&gt;- Ubutu: /etc/bind/db.local, Red Hat: /var/named/named.local&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;0.0.127.in-addr.arpa&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.127&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;{&lt;br /&gt;       type slave;         &lt;br /&gt;       file &quot;named.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;;   &lt;i&gt;- Specify &lt;b&gt;slaves/named.your-domain.com&lt;/b&gt; for RHEL4/5 chrooted bind&lt;/i&gt;&lt;br /&gt;       masters { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };   &lt;b&gt;&lt;i&gt;- IP address of primary DNS&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;{&lt;br /&gt;       type slave;         &lt;br /&gt;       file &quot;named.&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;;&lt;br /&gt;       masters { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };&lt;br /&gt;};&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;           &lt;p&gt;           &lt;/p&gt;           view &quot;external&quot;: (slave)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt; &lt;pre&gt;view    &quot;external&quot;&lt;br /&gt;{&lt;br /&gt;       match-clients           { any; };&lt;br /&gt;       match-destinations      { any; };&lt;br /&gt;       allow-transfer { &lt;i&gt;&lt;b&gt;none&lt;/b&gt;&lt;/i&gt;; };  &lt;b&gt;&lt;i&gt;- Slave does not transfer to anyone, slave receives&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       include &quot;/etc/named.root.hints&quot;;&lt;br /&gt;&lt;br /&gt;       zone &quot;your-domain.com&quot; {&lt;br /&gt;               type slave;&lt;br /&gt;               file &quot;/var/named/slaves/external/named.your-domain.com&quot;;&lt;br /&gt;               notify no;                  &lt;b&gt;&lt;i&gt;- Slave does not notify, slave is notified by master&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;               masters { &lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;; }; &lt;b&gt;&lt;i&gt;- State IP of master server&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       };&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;           &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;           &lt;/table&gt; Note: RHEL4/5, CentOS 4/5, Fedora 3+ use chrooted directory structure permissions which require the use of the slaves subdirectory &lt;tt&gt;/var/named/slaves&lt;/tt&gt;           &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Slave Zone Files:&lt;/b&gt; These are transfered from master to slave and chached by slave. There is no need to generate a zone file on the slave.        &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Additional Information:&lt;/b&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=named.conf&quot;&gt;Man page on named.conf&lt;/a&gt;       &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=named%288%29&quot;&gt;Man page on named DNS server&lt;/a&gt;       &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.zytrax.com/books/dns/&quot;&gt;Full DNS manual&lt;/a&gt;       &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Ubuntu dapper/hardy - Path names used can not violate Apparmor security rules as defined in &lt;tt&gt;/etc/apparmor.d/usr.sbin.named&lt;/tt&gt;. Note that the slave files are typically named &quot;&lt;tt&gt;/var/lib/bind/named.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&lt;/tt&gt;&quot; as permitted by the security configuration.       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Ubuntu dapper/hardy - Create log file and set ownership and permission for file not created by installation:        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;touch /var/log/bindlog&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chown root.bind /var/log/bindlog&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chmod 664 /var/log/bindlog&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Error in &lt;tt&gt;/var/log/messages&lt;/tt&gt;:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;tt&gt; transfer of &#39;yolinux.com/IN&#39; from XXX.XXX.XXX.XXX#53: failed while receiving responses: permission denied                 &lt;/tt&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Named needs write permission on the directory containing the file. This condition often occurs for a new &quot;slave&quot; or &quot;secondary&quot; name server where the zone files do not yet exist.&lt;br /&gt; The default (RHEL4/5, CentOS 4/5, Fedora Core 3+, ...):            &lt;ul&gt;&lt;li&gt;&lt;tt&gt;drwxr-x---  4 root  named 4096 Aug 25  2004 named&lt;/tt&gt;             &lt;/li&gt;&lt;li&gt;&lt;tt&gt;drwxrwx---  2 named named 4096 Sep 17 20:37 slaves&lt;/tt&gt;             &lt;/li&gt;&lt;/ul&gt;           &lt;br /&gt;Fix: In &lt;tt&gt;named.conf&lt;/tt&gt; specify that the slaves to go to slaves directory &lt;tt&gt;/var/named/chroot/var/named/slaves&lt;/tt&gt; with the directive:           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;tt&gt;file &quot;slaves/named.your-domain.com&quot;;&lt;/tt&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Bind Defaults:        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Uses port 53 if none is specified with the &lt;tt&gt;listen-on port&lt;/tt&gt; statement.         &lt;/li&gt;&lt;li&gt;Bind will use random ports above port 1024 for queries. For use with firewalls expecting all DNS traffic on port 53, specify the following &lt;tt&gt;option&lt;/tt&gt; statement in &lt;tt&gt;/etc/named.conf&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;query-source address * port 53;&lt;br /&gt;query-source-v6 port 53;&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/li&gt;&lt;li&gt;Logging is to &lt;tt&gt;/var/log/messages&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; After the configuration files have been edited, restart the name daemon.       &lt;/p&gt;&lt;dl&gt;&lt;dd&gt;       &lt;tt&gt;/etc/init.d/named restart&lt;/tt&gt;       &lt;/dd&gt;&lt;/dl&gt; (Note: Ubuntu / Debian restart: &lt;tt&gt;/etc/init.d/bind9 restart&lt;/tt&gt;)              &lt;p&gt; Bind zone transfers work best if the clocks of the two systems are synchronised. See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialSysAdmin.html#TIME&quot;&gt;YoLinux SysAdmin Tutorial: Time and ntpd&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;File: /var/named/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt; This is created for you by Bind on the slave (secondary) server when it replicates from Primary server.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;b&gt;DNS GUI configuration:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat EL 4/5, Fedora 2-10: &lt;tt&gt;/usr/bin/system-config-bind&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 8/9, Fedora Core 1: &lt;tt&gt;/usr/bin/redhat-config-bind&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;img src=&quot;http://www.yolinux.com/TUTORIALS/images/system-config-bind.gif&quot; alt=&quot;Red Hat bind configuration tool&quot; /&gt;           &lt;img src=&quot;http://www.yolinux.com/TUTORIALS/images/system-config-bind-SOAZone.gif&quot; alt=&quot;Red Hat bind configuration tool: SOA zone&quot; /&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;a name=&quot;DNSTEST&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;h3&gt;Test DNS:&lt;/h3&gt;        &lt;p&gt; Must install packages:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat / Fedora Core / SuSE: &lt;tt&gt;bind-utils&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian: &lt;tt&gt;bind9-host&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;dl&gt;&lt;dd&gt; Test the name server with the            &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=host&quot;&gt;host&lt;/a&gt;  command in interactive mode:            &lt;pre&gt;   host  &lt;i&gt;node.domain-to-test.com&lt;/i&gt; &lt;i&gt;&lt;b&gt;your-nameserver-to-test.domain.com&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;            &lt;dl&gt;&lt;dd&gt; Note: The name server may also be specified by IP address.             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; or           &lt;/p&gt;           &lt;p&gt; Test the name server with the            &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=nslookup&quot;&gt;nslookup&lt;/a&gt;  command in interactive mode:            &lt;/p&gt;           &lt;pre&gt;   nslookup&lt;br /&gt;  &gt; server &lt;i&gt;&lt;b&gt;your-nameserver-to-test.domain.com&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;  &gt; &lt;i&gt;node.domain-to-test.com&lt;/i&gt;&lt;br /&gt;  &gt; exit&lt;br /&gt;         &lt;/pre&gt;            &lt;p&gt; Test the MX record if appropriate:           &lt;/p&gt;           &lt;pre&gt;   nslookup -querytype=mx &lt;i&gt;domain-to-test.com&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;  &lt;b&gt;OR&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  host -t mx &lt;i&gt;domain-to-test.com&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;            &lt;p&gt; Test using the &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=dig&quot;&gt;dig&lt;/a&gt; command:           &lt;/p&gt;           &lt;pre&gt;   dig @&lt;i&gt;name-server&lt;/i&gt; &lt;i&gt;domain-to-query&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;  &lt;b&gt;OR&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  dig @&lt;i&gt;IP-address-of-name-server&lt;/i&gt; &lt;i&gt;domain-to-query&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Test your DNS with the following DNS diagnostics web site: &lt;a href=&quot;http://dnsstuff.com/&quot;&gt;DnsStuff.com&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Extra logging to monitor Bind:&lt;/h3&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Add the following to your &lt;tt&gt;/etc/named.conf&lt;/tt&gt; file.           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;logging {&lt;br /&gt;       channel bindlog {&lt;br /&gt;                          file &quot;/var/log/bindlog&quot;  versions 5 size 1m;    &lt;b&gt;&lt;i&gt; - Keep five old versions of the log-file (rotates logs)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;                          print-time yes;&lt;br /&gt;                          print-category yes;&lt;br /&gt;                          print-severity yes;&lt;br /&gt;                       };&lt;br /&gt;/*      If you want to enable debugging, eg. using the &#39;rndc trace&#39; command,&lt;br /&gt;*      named will try to write the &#39;named.run&#39; file in the $directory (/var/named).&lt;br /&gt;*      By default, SELinux policy does not allow named to modify the /var/named directory,&lt;br /&gt;*      so put the default debug log file in data/ :&lt;br /&gt;*/&lt;br /&gt;       channel default_debug {&lt;br /&gt;               file &quot;data/named.run&quot;;&lt;br /&gt;               severity dynamic;&lt;br /&gt;       };&lt;br /&gt;       category xfer-out { bindlog; };         &lt;b&gt;&lt;i&gt;- Zone transfers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category xfer-in  { bindlog; };         &lt;b&gt;&lt;i&gt;- Zone transfers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category security { bindlog; };         &lt;b&gt;&lt;i&gt;- Approved/unapproved requests&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;//      &lt;b&gt;The following logging statements, panic, insist and response-checks are valid for Bind 8 only. Do not user for version 9.&lt;/b&gt;&lt;br /&gt;       category panic { bindlog; };            &lt;b&gt;&lt;i&gt;- System shutdowns&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category insist { bindlog; };           &lt;b&gt;&lt;i&gt;- Internal consistency check failures&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category response-checks { bindlog; };  &lt;b&gt;&lt;i&gt;- Messages&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Chroot Bind for extra security:&lt;/h3&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Note: Most modern Linux distributions default to a &quot;chrooted&quot; installation. This technique runs the Bind name service with a view of the filesystem which changes the definition of the root directory &quot;/&quot; to a directory in which Bind will operate. i.e. &lt;tt&gt;/var/named/chroot&lt;/tt&gt;.           &lt;p&gt; The following example uses the Red Hat RPM &lt;tt&gt;bind-8.2.3-0.6.x.i386.rpm&lt;/tt&gt;. Applies to Bind version 9 as well.           &lt;/p&gt;           &lt;p&gt; The latest RedHat bind updates run the named as user &quot;named&quot; to avoid a lot of earlier hacker exploits. To chroot the process is to create an even more secure environment by limiting the view of the system that the process can access. The process is limited to the chrooted directory assigned.           &lt;/p&gt;           &lt;p&gt; The chroot of the named process to a directory under a given user will prevent the possibility of an exploit which at one time would  result in  root access. The original default RedHat configuration (6.2) ran the named process as root,  thus if an exploit was found, the named process will allow the hacker to use  the privileges of the root user. (no longer true)           &lt;/p&gt;           &lt;p&gt; Named Command Sytax:           &lt;/p&gt;           &lt;pre&gt;   named -u &lt;i&gt;user&lt;/i&gt; -g &lt;i&gt;group&lt;/i&gt; -t &lt;i&gt;directory-to-chroot-to&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;  Example:           &lt;pre&gt;    named -u named -g named -t /opt/named&lt;br /&gt;&lt;/pre&gt;            &lt;p&gt;When chrooted, the process does not have access to system libraries thus a local lib directory is required with the appropriate library files - theoretically. This does not seem to be the case here and as noted above in chrooted FTP. It&#39;s a mystery to me but it works???? Another method to handle libraries is to re-compile the named binary with everything statically linked. Add &lt;tt&gt;-static&lt;/tt&gt; to the compile options. The chrooted process should also require a local &lt;tt&gt;/etc/named.conf&lt;/tt&gt; etc... but doesn&#39;t seem to???           &lt;/p&gt;           &lt;p&gt; Script to create a chrooted bind environment:           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;span style=&quot;font-size:-1;&quot;&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;cd /opt&lt;br /&gt;mkdir named&lt;br /&gt;cd named&lt;br /&gt;mkdir etc&lt;br /&gt;mkdir bin&lt;br /&gt;mkdir var&lt;br /&gt;cd var&lt;br /&gt;mkdir named&lt;br /&gt;mkdir run&lt;br /&gt;cd ..&lt;br /&gt;chown -R named.named bin etc var&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;  You can probably stop here. If your system acts like a chrooted system should, then continue with the following:           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;span style=&quot;font-size:-1;&quot;&gt;&lt;br /&gt;cp -p /etc/named.conf etc&lt;br /&gt;cp -p /etc/localtime  etc&lt;br /&gt;cp -p /bin/false bin&lt;br /&gt;echo &quot;named:x:25:25:Named:/var/named:/bin/false&quot; &gt; etc/passwd&lt;br /&gt;echo &quot;named:x:25:&quot; &gt; etc/group&lt;br /&gt;touch  var/run/named.pid&lt;br /&gt;&lt;br /&gt;if [ -f /etc/namedb ]&lt;br /&gt;then&lt;br /&gt;  cp -p /etc/namedb etc/namedb&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;mkdir dev&lt;br /&gt;cd dev&lt;br /&gt;&lt;br /&gt;# Create a character unbuffered file.&lt;br /&gt;mknod -m ugo+rw null c 1 3    &lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;chown -R named.named bin etc var&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Add changes to the init script: &lt;tt&gt;/etc/rc.d/init.d/named&lt;/tt&gt;           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;&lt;small&gt;                     &lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# named           This shell script takes care of starting and stopping&lt;br /&gt;#                 named (BIND DNS server).&lt;br /&gt;#&lt;br /&gt;# chkconfig: - 55 45&lt;br /&gt;# description: named (BIND) is a Domain Name Server (DNS) \&lt;br /&gt;# that is used to resolve host names to IP addresses.&lt;br /&gt;# probe: true&lt;br /&gt;&lt;br /&gt;# Source function library.&lt;br /&gt;. /etc/rc.d/init.d/functions&lt;br /&gt;&lt;br /&gt;# Source networking configuration.&lt;br /&gt;. /etc/sysconfig/network&lt;br /&gt;&lt;br /&gt;# Check that networking is up.&lt;br /&gt;[ ${NETWORKING} = &quot;no&quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;&lt;br /&gt;[ -f /etc/sysconfig/named ] &amp;amp;&amp;amp; . /etc/sysconfig/named  &lt;b&gt;&lt;i&gt;- Added in Red Hat version 7.1&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[ -f /usr/sbin/named ] || exit 0&lt;br /&gt;&lt;br /&gt;[ -f /etc/named.conf ] || exit 0&lt;br /&gt;&lt;br /&gt;RETVAL=0&lt;br /&gt;&lt;br /&gt;start() {&lt;br /&gt;       # Start daemons.&lt;br /&gt;       echo -n &quot;Starting named: &quot;&lt;br /&gt;       daemon named -u named -g named -t /opt/named   &lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size:+1;&quot;&gt;- Change made here&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;	RETVAL=$?&lt;br /&gt;	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/named&lt;br /&gt;	echo&lt;br /&gt;	return $RETVAL&lt;br /&gt;}&lt;br /&gt;stop() {&lt;br /&gt;       # Stop daemons.&lt;br /&gt;       echo -n &quot;Shutting down named: &quot;&lt;br /&gt;       killproc named&lt;br /&gt;	RETVAL=$?&lt;br /&gt;	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; rm -f /var/lock/subsys/named&lt;br /&gt;       echo&lt;br /&gt;	return $RETVAL&lt;br /&gt;}&lt;br /&gt;rhstatus() {&lt;br /&gt;	/usr/sbin/ndc status&lt;br /&gt;	return $?&lt;br /&gt;}	&lt;br /&gt;restart() {&lt;br /&gt;	stop&lt;br /&gt;	start&lt;br /&gt;}	&lt;br /&gt;reload() {&lt;br /&gt;	/usr/sbin/ndc reload&lt;br /&gt;	return $?&lt;br /&gt;}&lt;br /&gt;probe() {&lt;br /&gt;	# named knows how to reload intelligently; we don&#39;t want linuxconf&lt;br /&gt;	# to offer to restart every time&lt;br /&gt;	/usr/sbin/ndc reload &gt;/dev/null 2&gt;&amp;amp;1 || echo start&lt;br /&gt;	return $?&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;# See how we were called.&lt;br /&gt;case &quot;$1&quot; in&lt;br /&gt;	start)&lt;br /&gt;		start&lt;br /&gt;		;;&lt;br /&gt;	stop)&lt;br /&gt;		stop&lt;br /&gt;		;;&lt;br /&gt;	status)&lt;br /&gt;		rhstatus&lt;br /&gt;		;;&lt;br /&gt;	restart)&lt;br /&gt;		restart&lt;br /&gt;		;;&lt;br /&gt;	condrestart)&lt;br /&gt;		[ -f /var/lock/subsys/named ] &amp;amp;&amp;amp; restart || :&lt;br /&gt;		;;&lt;br /&gt;	reload)&lt;br /&gt;		reload&lt;br /&gt;		;;&lt;br /&gt;	probe)&lt;br /&gt;		probe&lt;br /&gt;		;;&lt;br /&gt;	*)&lt;br /&gt;       	echo &quot;Usage: named {start|stop|status|restart|condrestart|reload|probe}&quot;&lt;br /&gt;		exit 1&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;exit $?&lt;br /&gt;&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/small&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Note: The current version of bind from the RedHat errata updates and security fixes (&lt;a href=&quot;http://www.redhat.com/support/errata/&quot;&gt;http://www.redhat.com/support/errata/&lt;/a&gt;) runs the named process as user &quot;named&quot; in the home (not chrooted) directory           &lt;tt&gt;/var/named&lt;/tt&gt; with no shell available. (&lt;tt&gt;named -u named&lt;/tt&gt;) This should be secure enough. Proceed with a chrooted installation if your are paranoid.           &lt;/p&gt;           &lt;p&gt; See:           &lt;/p&gt;           &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.psionic.com/papers/dns&quot;&gt;Securing DNS: How to use chroot bind features&lt;/a&gt;             &lt;/li&gt;&lt;/ul&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;b&gt;Chrooted DNS configuration:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt; Modern releases of Linux (i.e. Fedore Core 3, Red Hat Enterprise Linux 4) come preconfigured to use &quot;chrooted&quot; bind. This security feature forces even an exploited version of bind to only operate within the &quot;chrooted&quot; jail       &lt;tt&gt;/var/named/chroot&lt;/tt&gt;  which contains the familiar directories:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;/var/named/chroot/etc&lt;/tt&gt;: Configuration files         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/var/named/chroot/dev&lt;/tt&gt;: devices used by bind:                &lt;ul&gt;&lt;li&gt; &lt;tt&gt;/dev/null&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt; &lt;tt&gt;/dev/random&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt; &lt;tt&gt;/dev/zero&lt;/tt&gt;           &lt;/li&gt;&lt;/ul&gt;      (Real devices created with the mknod command.)                  &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/var/named/chroot/var&lt;/tt&gt;: Zone files and configuration information.         &lt;/li&gt;&lt;/ul&gt;  These directories are generated and configured by the Red Hat/Fedora RPM package &quot;bind-chroot&quot;.       &lt;p&gt; If building from source you will have to generate this configuration manually:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir /var/named/chroot/dev&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mknod /var/named/chroot/dev/null c 1 3&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mknod /var/named/chroot/dev/zero c 1 5&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mknod /var/named/chroot/dev/random c 1 8&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chmod 666 -R /var/named/chroot/dev&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/etc&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /var/named/chroot/etc/named.conf /etc/named.conf&lt;/tt&gt;          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/named&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /var/named/chroot/var/named/named.XXXX /var/named/named.XXXX &lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /var/named/chroot/var/named/named.YYYY /var/named/named.YYYY &lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;...         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/named/slaves&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/named/data&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/run&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/tmp&lt;/tt&gt;          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chown -R named:named /var/named/chroot&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chown -R root:named /var/named/chroot/var/named&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt; &lt;a name=&quot;DNSRoundRobin&quot;&gt;&lt;/a&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;h3&gt;Load Balancing of servers using Bind: DNS Round-Robin&lt;/h3&gt;  This will populate name servers around the world with different IP addresses for your web server www.&lt;i&gt;your-domain&lt;/i&gt;.com       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;            www0   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www1   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.2&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www2   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.3&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www3   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.4&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www4   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.5&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www5   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.6&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;           www    IN  CNAME   www0.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www1.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www2.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www3.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www4.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www5.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www6.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Also see lbnamed: &lt;a href=&quot;http://www.stanford.edu/%7Eschemers/docs/lbnamed/lbnamed.html&quot;&gt;lbnamed load balancing named&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Bind/DNS Links:&lt;/h3&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.isc.org/&quot;&gt;Internet Software Consortium (ISC) Home Page&lt;/a&gt; - &lt;a href=&quot;http://www.isc.org/products/BIND/&quot;&gt;ISC Bind Home&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.isc.org/index.pl?/sw/bind/FAQ.php&quot;&gt;Bind FAQ, pitfalls and answers&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.zytrax.com/books/dns/&quot;&gt;Zytrax Bind 9 manual&lt;/a&gt; - Bind for rocket scientists         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.intac.com/%7Ecdp/cptd-faq/&quot;&gt;comp.protocols.tcp-ip.domains FAQ&lt;/a&gt; - HTML version         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.apache.org/docs/misc/rewriteguide.html&quot;&gt;More on load balancing and round robin schemes&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/HOWTO/DNS-HOWTO.html&quot;&gt;LDP DNS-HOWTO&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.acmebw.com/askmrdns/&quot;&gt;ACME: DNS resources&lt;/a&gt;          &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.acmebw.com/papers/securing.pdf&quot;&gt;DNS Security presentation&lt;/a&gt; - Cricket Liu (coauthor of DNS and Bind)         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.psionic.com/papers/dns/&quot;&gt;DNS Security Paper&lt;/a&gt; - Craig Rowland         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://soa.granitecanyon.com/&quot;&gt;GraniteCanyon.com: Free DNS hosting&lt;/a&gt; - If you don&#39;t want to set it up, have someone do it for you.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.everydns.net/&quot;&gt;EveryDNS.net&lt;/a&gt; - Free DNS         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dns2go.deerfield.com/&quot;&gt;DNS2GO&lt;/a&gt; - Domain hosting for DHCP clients.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.secondary.com/&quot;&gt;Secondary.com&lt;/a&gt; - Free secondary names server hosting (five or fewer domains)         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.tzo.com/&quot;&gt;TZO.com&lt;/a&gt; - Dynamic, secondary DNS services.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.ultradns.com/order/&quot;&gt;UltraDNS.com&lt;/a&gt; - Outsourced DNS management and service         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.opendns.com/&quot;&gt;OpenDNS.com&lt;/a&gt; - Can allow forwarding to OpenDNS servers.             &lt;br /&gt;Add to &quot;options&quot; section: &lt;tt&gt;forwarders { 208.67.222.222; 208.67.222.220; };&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dyndns.org/&quot;&gt;DynDNS.org&lt;/a&gt;    &lt;br /&gt;Command: &lt;tt&gt;ipcheck.py -i eth0 &lt;i&gt;DynDNS-user-id&lt;/i&gt; &lt;i&gt;password&lt;/i&gt; &lt;i&gt;node&lt;/i&gt;.dnsalias.net&lt;/tt&gt;    &lt;br /&gt;Then add script &lt;tt&gt;update.dyndns.ip&lt;/tt&gt; to directory &lt;tt&gt;/etc/cron.daily/&lt;/tt&gt; to update IP.    &lt;br /&gt;This host must also be allowed access through any firewall rules.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ahv.cx/&quot;&gt;DynDNS/TODD&lt;/a&gt; - Dynamic DNS for those with dynamic IP addresses. (i.e. dial-up game servers etc.)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Domain name registration:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;Domain Name Registrars:           &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.networksolutions.com/&quot;&gt;NetworkSolutions.com&lt;/a&gt;             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.register.com/&quot;&gt;Register.com&lt;/a&gt;             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://registrar.godaddy.com/&quot;&gt;Registrar.GoDaddy.com&lt;/a&gt; - Domain name registration for only $8.95/year!!!             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.dotster.com/home/&quot;&gt;Dotster.com&lt;/a&gt; - Domain name registration for only $14.95/year             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.domainsnext.com/&quot;&gt;DomainsNext.com&lt;/a&gt; - $11.95/year             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.easydns.com/&quot;&gt;EasyDNS.com&lt;/a&gt; - $25.00/year             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.aplus.net/services/register-domain.html&quot;&gt;Aplus.net&lt;/a&gt; - Domain Registration $7.95/year - Not good             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.gandi.net/&quot;&gt;Gandi.net&lt;/a&gt; - European             &lt;/li&gt;&lt;/ul&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.afternic.com/&quot;&gt;AfterNic.com&lt;/a&gt; - Domain name exchange and auction.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.buydomains.com/&quot;&gt;BuyDomains.com&lt;/a&gt; - Buy a domain name that a squatter is holding.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Note that the Name registrations policies for the registrars are stated at &lt;a href=&quot;http://www.icann.org/&quot;&gt;ICANN.org&lt;/a&gt;.        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;You must renew with the same registrar within five days BEFORE the expiration date.  There is no rule for afterwards.         &lt;/li&gt;&lt;li&gt;Most free a domain name 30 days after it expires.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;VIRTUALSERVER&quot;&gt;&lt;/a&gt;       &lt;a name=&quot;LOADBALANCING&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;         &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Web Server Load Balancing:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;       &lt;/table&gt;       &lt;p&gt;       &lt;/p&gt; Load balancing becomes important if your traffic volume becomes too great for either your server or network connection or both. Multiple options are available for load balancing. &lt;ul&gt;&lt;li&gt;DNS round-robin: &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#DNSRoundRobin&quot;&gt;Discussed above&lt;/a&gt;, this uses DNS to point users to random server in a list of appropriate servers. This spreads the load among the servers in the list.&lt;/li&gt;&lt;li&gt;Use a Linux Virtual Server to Create a Load Balance Cluster. See next section below.&lt;/li&gt;&lt;li&gt;Run a reverse proxy. See &lt;a href=&quot;http://nginx.net/&quot;&gt;nginx&lt;/a&gt; (&quot;engine X&quot;). From a single external internet network connection, route http, smtp, imap or pop3 traffic to various servers on an internal network. Results are pushed back to the nginx proxy for routing to the internet (no caching).&lt;/li&gt;&lt;li&gt;Run the &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_proxy.html&quot;&gt;Apache httpd web server module &quot;mod_proxy&quot;&lt;/a&gt; to offload processing of dynamic content to another web server. This acts as a reverse proxy, routing external traffic to various servers on an internal network.&lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;         &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Using a Linux Virtual Server to Create a Load Balance Cluster:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; You can use a single Linux server to forward requests to a cluster of servers using iptables for IP masquerading and IPVsadm to scale your load. The load balancing server receiving and routing the requests is called the &quot;Linux Virtual Server&quot; (LVS). The LVS receives the requests which are passed to the real servers which  process and reply to the request.  This reply is forwarded to the client by the LVS.       &lt;/p&gt;       &lt;p&gt; This feature is available with the Linux 2.4/2.6 kernel. (If compiling kernel: Networking Options + IP: Virtual Server Configuration)       &lt;/p&gt;       &lt;p&gt; Configuration: This example will load balance http traffic to three web servers  and ftp traffic to a fourth server.       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Enable Forwarding:     (Also see &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialNetworking.html#FORWARDING&quot;&gt;YoLinux Networking Tutorial: Enable Forwarding&lt;/a&gt;)                &lt;dl&gt;&lt;dd&gt;               &lt;pre&gt;&lt;tt&gt;echo &quot;1&quot; &gt; /proc/sys/net/ipv4/ip_forward&lt;/tt&gt;&lt;br /&gt;             &lt;/pre&gt;             &lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;li&gt;Enable IP Masquerading:           &lt;dl&gt;&lt;dd&gt;               &lt;pre&gt;iptables -t nat -P POSTROUTING DROP&lt;br /&gt;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;   &lt;/pre&gt;      For more on IP Masquerading, iptables and subnet addresses, see the      &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html&quot;&gt;YoLinux network gateway tutorial&lt;/a&gt;.     &lt;/dd&gt;&lt;/dl&gt;         &lt;/li&gt;&lt;li&gt;Enable virtual server:           &lt;ul&gt;&lt;li&gt;Create virtual service and choose scheduler for http (80) and ftp (21):               &lt;dl&gt;&lt;dd&gt;                   &lt;pre&gt;ipvsadm -A -t 66.218.88.103:80 -s wlc&lt;br /&gt;ipvsadm -A -t 66.218.88.103:21 -s wrr&lt;br /&gt;   &lt;/pre&gt;      Command directives:                        &lt;ul&gt;&lt;li&gt;A: Add a virtual service defined by IP  address,  port  number, and protocol.     &lt;/li&gt;&lt;li&gt;-t:  Use   TCP   service host:port     &lt;/li&gt;&lt;li&gt;-s: scheduler:                                 &lt;ul&gt;&lt;li&gt;rr: Robin Robin: distributes jobs equally amongst the avail-               able real servers.         &lt;/li&gt;&lt;li&gt;wrr: Weighted Round Robin.         &lt;/li&gt;&lt;li&gt;lc: Least-Connection: assigns more jobs to real  servers  with               fewer active jobs.         &lt;/li&gt;&lt;li&gt;wlc: (Default) Weighted Least-Connection: assigns more jobs to servers               with fewer jobs  and  relative  to  the  real  server&#39;s  weight.         &lt;/li&gt;&lt;li&gt;lblc, lblcr, dh, sh, sed, nq. See man page.         &lt;/li&gt;&lt;/ul&gt;      &lt;/li&gt;&lt;/ul&gt;      &lt;/dd&gt;&lt;/dl&gt;      &lt;/li&gt;&lt;li&gt;Configure load balancing cluser.                    &lt;dl&gt;&lt;dd&gt;                        &lt;pre&gt;ipvsadm -a -t 66.218.88.103:80 -r 176.168.1.1:80 -m&lt;br /&gt;ipvsadm -a -t 66.218.88.103:80 -r 176.168.1.2:80 -m -w 2&lt;br /&gt;ipvsadm -a -t 66.218.88.103:80 -r 176.168.1.3:80 -m&lt;br /&gt;ipvsadm -a -t 66.218.88.103:21 -r 176.168.1.4:21 -m&lt;br /&gt;   &lt;/pre&gt;      Command directives:                        &lt;ul&gt;&lt;li&gt;-r:  Real server.     &lt;/li&gt;&lt;li&gt;-m:  Use masquerading also known as network  address  translation (NAT)     &lt;/li&gt;&lt;li&gt;-w:  Weight is an integer specifying the capacity  of a server rela-               tive  to the others in the pool. The valid values of weight are               0 through to 65535. The default is  1.     &lt;/li&gt;&lt;/ul&gt;      &lt;/dd&gt;&lt;/dl&gt;      &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Links:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.linuxvirtualserver.org/&quot;&gt;LinuxVirtualServer.org&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=iptables&quot;&gt;iptables&lt;/a&gt; - Administration tool for IPv4 packet filtering and NAT         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ipvsadm&quot;&gt;ipvsadm&lt;/a&gt; - Administer the routing table on a Linux Virtual Server.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;DAEMONS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;         &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Managing Web Server Daemons:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;       &lt;/table&gt;       &lt;p&gt; To view if these services are  running, type &lt;tt&gt;ps -aux&lt;/tt&gt; and look for the httpd, inetd and named  services (daemons). These are background processes necessary to perform the server tasks.       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   root       681  0.0  0.5  2304  744 ?        S    Sep09   0:01 named&lt;br /&gt;  nobody   28123  0.0  1.1  3036 1420 ?        S    Oct06   0:00 httpd&lt;br /&gt;  nobody   28186  0.0  0.7  3044  896 ?        S    Oct06   0:00 httpd&lt;br /&gt;  root       385  0.0  0.1  1136  232 ?        S    Sep09   0:00 inetd&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt;  A new installation will most likely NOT start the named background process which may be started manually after configuration.      &lt;br /&gt; See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;YoLinux Init Process Tutorial&lt;/a&gt; for more information.      &lt;br /&gt; The inetd (or xinetd) background process is the Internet daemon which  starts FTP when an ftp request is made.       &lt;p&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Sys Admin Script:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; Script to prepare an account: (Red Hat/Fedora)       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;#!/bin/sh&lt;br /&gt;# Author Greg Ippolito&lt;br /&gt;# Requires: /opt/etc/AccountDefaults/pathmsg favicon.ico  mwh-mini_tr.gif etc.&lt;br /&gt;#           /opt/bin/ftponly&lt;br /&gt;#   You must be root to run this script.&lt;br /&gt;#&lt;br /&gt;if [ $# -eq 0 ]&lt;br /&gt;then&lt;br /&gt;  echo &quot;Enter user id as a command argument&quot;&lt;br /&gt;else if [ -r /home/$1 ]&lt;br /&gt;then&lt;br /&gt;  echo &quot;User&#39;s home directory already exists&quot;&lt;br /&gt;else&lt;br /&gt;  echo &quot;1)  Create user.&quot;&lt;br /&gt;  adduser -m $1&lt;br /&gt;&lt;br /&gt;  echo &quot;2)  Set user Password.&quot;&lt;br /&gt;  passwd $1&lt;br /&gt;&lt;br /&gt;  echo &quot;3)  Add read access to user directory so apache can read it.&quot;&lt;br /&gt;  cd /home&lt;br /&gt;  chmod ugo+rx $1&lt;br /&gt;  cd $1&lt;br /&gt;&lt;br /&gt;  echo &quot;4)  Create web directories.&quot;&lt;br /&gt;  mkdir public_html&lt;br /&gt;  chown $1.$1 public_html&lt;br /&gt;  chcon -R -h -u system_u -r object_r -t httpd_sys_content_t public_html&lt;br /&gt;  cd public_html&lt;br /&gt;  mkdir images&lt;br /&gt;  chown $1.$1 images&lt;br /&gt;  chcon -R -h -u system_u -r object_r -t httpd_sys_content_t images&lt;br /&gt;&lt;br /&gt;  # Block potential for unauthenticated logins&lt;br /&gt;  cd ../&lt;br /&gt;  touch .rhosts&lt;br /&gt;  chmod ugo-xrw .rhosts&lt;br /&gt;&lt;br /&gt;  echo &quot;5)  Create default web page&quot;&lt;br /&gt;  sed &quot;/HEADING/s!HEADING!$1!&quot; /opt/etc/AccountDefaults/default-index.html &gt; index.html&lt;br /&gt;  cp -p /opt/etc/AccountDefaults/favicon.ico .&lt;br /&gt;  cp -p /opt/etc/AccountDefaults/default-logo.gif ./images&lt;br /&gt;  cp -p /opt/etc/AccountDefaults/robots.txt .&lt;br /&gt;  chown $1.$1 index.html favicon.ico robots.txt&lt;br /&gt;  chcon -R -h -t httpd_sys_content_t index.html favicon.ico robots.txt&lt;br /&gt;  chcon -R -h -t httpd_sys_content_t images/default-logo.gif&lt;br /&gt;&lt;br /&gt;  echo &quot;6)  Edit /etc/passwd file - change user shell to /opt/bin/ftponly&quot;&lt;br /&gt;  cp -p  /etc/passwd /etc/passwd-`date +%m%d%y`&lt;br /&gt;  sed &quot;/^$1/s!/bin/bash!/opt/bin/ftponly!&quot; /etc/passwd-`date +%m%d%y` &gt; /etc/passwd&lt;br /&gt;&lt;br /&gt;#wu-ftp# Requires: /etc/ftpaccess guestuser restrict-uid&lt;br /&gt;#wu-ftp#   echo &quot;7)  Add user to /etc/ftpaccess file&quot;&lt;br /&gt;#wu-ftp#   cp -p  /etc/ftpaccess /etc/ftpaccess-`date +%m%d%y`&lt;br /&gt;#wu-ftp#   sed &quot;/^guestuser/s!guestuser !guestuser $1 !&quot; /etc/ftpaccess-`date +%m%d%y` &gt; /etc/ftpaccess&lt;br /&gt;#wu-ftp#   sed &quot;/^restricted-uid/s!restricted-uid !restricted-uid $1 !&quot; /etc/ftpaccess-`date +%m%d%y` &gt; /etc/ftpaccess&lt;br /&gt;#wu-ftp#   echo &quot;guest-root /home/$1/public_html $1&quot; &gt;&gt; /etc/ftpaccess&lt;br /&gt;&lt;br /&gt;  echo &quot;7)  Add user to vsftpd chroot list&lt;br /&gt;  cat `echo $1` &gt;&gt; /etc/vsftpd/vsftpd.chroot_list&lt;br /&gt;&lt;br /&gt;  echo &quot;8)  Setting Disk Quotas to default 50Mb limit:&quot;&lt;br /&gt;#  Use user johndoe as a prototype.&lt;br /&gt;  edquota -p johndoe $1&lt;br /&gt;&lt;br /&gt;  echo &quot;9)  Admin Follow-up:&quot;&lt;br /&gt;  echo &quot;     Modify quota.user if different than default&quot;&lt;br /&gt;  echo &quot;     Make changes to Bind names services on dns1 and dns2 if necessary&quot;&lt;br /&gt;  echo &quot;       Change /etc/http/conf/httpd.conf or&lt;br /&gt;  echo &quot;       add config to /etc/http/conf.d/ if using a new domain name&quot;&lt;br /&gt;  echo &quot;       Add e-mail aliases to mail server if necessary&quot;&lt;br /&gt;fi&lt;br /&gt;fi&lt;b&gt;&lt;big&gt;Prerequisites:&lt;/big&gt;&lt;/b&gt;&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;      &lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;     &lt;/pre&gt;&lt;p&gt; This tutorial assumes that a computer has Linux installed and running.  See &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialRedHatInstallation.html&quot;&gt;RedHat Installation&lt;/a&gt; for the basics. A connection to the internet is also assumed.  A connection of 128 Mbits/sec or greater will yield the best results. ISDN, DSL, cable modem or better are all suitable.  A 56k modem will work but the results will be mediocre at best. The tasks must also be performed with the root user login and password.       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Software Prerequisites:&lt;/b&gt; The Apache web server (httpd),  FTP (requires xinetd or inetd) and Bind (named) software packages with their dependencies are all required.  One can use the &lt;b&gt;rpm&lt;/b&gt; command to verify installation:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Fedora Core 1+, Red Hat Enterprise 4/5, CentOS 4/5:            &lt;pre&gt;   rpm -q httpd bind bind-chroot bind-utils system-config-bind xinetd vsftpd&lt;br /&gt;&lt;/pre&gt;      RPMs added FC2+: &lt;tt&gt;system-config-httpd&lt;/tt&gt;    &lt;br /&gt;     RPMs added FC3+: &lt;tt&gt;httpd-suexec&lt;/tt&gt;                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 9.0           &lt;pre&gt;   rpm -q httpd bind xinetd vsftpd&lt;br /&gt;&lt;/pre&gt;  A Red Hat 8.0 wu-ftpd RPM may be installed (Newer version 2.6.2 or later with security fix &lt;tt&gt;&lt;a href=&quot;http://rpmfind.net//linux/RPM/redhat/updates/8.0/i386/wu-ftpd-2.6.2-12.i386.html&quot;&gt;wu-ftpd-2.6.2-11+&lt;/a&gt;&lt;/tt&gt;) or install from &lt;a href=&quot;ftp://ftp.wu-ftpd.org/pub/wu-ftpd/&quot;&gt;source&lt;/a&gt;.                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 8.0           &lt;pre&gt;   rpm -q httpd bind xinetd wu-ftpd&lt;br /&gt;&lt;/pre&gt;          &lt;/li&gt;&lt;li&gt;Red Hat 7.x:           &lt;pre&gt;   rpm -q apache bind inetd wu-ftpd&lt;br /&gt;&lt;/pre&gt;  Use  wu-ftpd version 2.6.2 or later to avoid security problems.                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;SuSE 9.3:           &lt;pre&gt;   rpm -ivh apache2 apache2-prefork bind bind-chrootenv bind-utils vsftpd&lt;br /&gt;&lt;/pre&gt; Note: The apache2-MPM is a generic term for Apache installation options for &quot;Multi-Processing Modules (MPM)s &quot;prefork&quot; or &quot;worker&quot;. If you try and only install apache2 you will get the following error:            &lt;pre&gt;   apache2-MPM is needed by apache2-2.0.53-9&lt;br /&gt;&lt;/pre&gt;  Also see &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mpm.html&quot;&gt;Apache.org: MPMs&lt;/a&gt;           &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian:           &lt;pre&gt;   apt-get install apache2&lt;br /&gt;  apt-get install apache2-common&lt;br /&gt;  apt-get install apache2-mpm-prefork&lt;br /&gt;  apt-get install apache2-utils&lt;br /&gt;  apt-get install bind9&lt;br /&gt;  apt-get install vsftpd&lt;br /&gt;&lt;/pre&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; One should also have a working knowledge of the Linux init process so that these services are initiated upon system boot. See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;YoLinux init process tutorial&lt;/a&gt; for more info.          &lt;/p&gt;       &lt;p&gt;       &lt;a name=&quot;HTTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Apache HTTP Web server configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; This tutorial is for the Apache HTTP web server (Version 1.3 and 2.0). See the        &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxHttpServers.html&quot;&gt;YoLinux list of Linux HTTP servers&lt;/a&gt; for a list of other web servers for the Hyper Text Transport Protocol.       &lt;/p&gt;       &lt;p&gt; The Apache configuration file is: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt; Web pages are served from the directory as configured by the        &lt;tt&gt;DocumentRoot&lt;/tt&gt; directive. The default directory location is:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat 7.x-9, Fedora Core, Red Hat Enterprise 4/5, CentOS 4/5: &lt;tt&gt;/var/www/html/&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 6.x and older: &lt;tt&gt;/home/httpd/html/&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Suse 9.x: &lt;tt&gt;/srv/www/htdocs/&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian: &lt;tt&gt;/var/www/html&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;  The default home page for the default configuration is &lt;tt&gt;index.html&lt;/tt&gt;.  Note the pages should not be owned by user &lt;tt&gt;apache&lt;/tt&gt; as this is the  process owner of the httpd web server daemon. If the web server process is comprimised, it should not be allowed to alter the files. The files should of course be readable by user &lt;tt&gt;apache&lt;/tt&gt;.       &lt;p&gt; Apache may be configured to run as a host for one web site in this fashion or it may be configured to serve for multiple domains. Serving for multiple domains may be achieved in two ways:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Virtual hosts: One IP address but multiple domains - &quot;Name based&quot; virtual hosting.         &lt;/li&gt;&lt;li&gt;Multiple IP based virtual hosts: One IP address for each domain - &quot;IP based&quot; virtual hosting.         &lt;/li&gt;&lt;/ul&gt;   The default configuration will allow one to have multiple user accounts under one domain by using a reference to the user account:        &lt;tt&gt;http://www.&lt;i&gt;domain.com&lt;/i&gt;/~user1/&lt;/tt&gt;.  If no domain is registered or configured, the IP address may also be used:       &lt;tt&gt;http://&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;/~user1/&lt;/tt&gt;.        &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;  The default umask for directory creation is correct by default but if not use:       &lt;tt&gt; chmod 755 /home/&lt;i&gt;user1&lt;/i&gt;/public_html&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt; When creating new &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot;  configuration directives, I found that placing them by the existing &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot; directives  to be a bad idea. It would not use the &lt;tt&gt;.htaccess&lt;/tt&gt; file. This was because the statement defining the use of the &lt;tt&gt;.htaccess&lt;/tt&gt; file was after the  &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot; statement. Previously in RH 6.x the files were separated and the order was defined a little different. I now place new &quot;&lt;tt&gt;Directory&lt;/tt&gt;&quot; statements near the end of the file just before the &quot;&lt;tt&gt;VirtualHost&lt;/tt&gt;&quot; statements.       &lt;/p&gt;       &lt;p&gt; For users of Red Hat 7.1, the GUI configuration tool &lt;tt&gt;apacheconf&lt;/tt&gt; was introduced for the crowd who like to use pretty point and click tools.       &lt;/p&gt;       &lt;p&gt; Files used by Apache:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Start/stop/restart script:           &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/CentOS: &lt;tt&gt;/etc/rc.d/init.d/httpd&lt;/tt&gt;            &lt;/li&gt;&lt;li&gt;SuSE 9.3: &lt;tt&gt;/etc/init.d/apache2&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian: &lt;tt&gt;/etc/init.d/apache2&lt;/tt&gt;           &lt;/li&gt;&lt;/ul&gt;         &lt;/li&gt;&lt;li&gt;Apache main configuration file:                &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/CentOS: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;SuSE: &lt;tt&gt;/etc/apache2/httpd.conf&lt;/tt&gt;        &lt;br /&gt;(Need to add directive: &lt;tt&gt;ServerName &lt;i&gt;host-name&lt;/i&gt;&lt;/tt&gt;)     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian: &lt;tt&gt;/etc/apache2/apache2.conf&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;li&gt;Apache suplementary configuration files:                &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/CentOS: &lt;tt&gt;/etc/httpd/conf.d/&lt;i&gt;&lt;b&gt;component&lt;/b&gt;&lt;/i&gt;.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;SuSE: &lt;tt&gt;/etc/apache2/conf.d/&lt;i&gt;&lt;b&gt;component&lt;/b&gt;&lt;/i&gt;.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper 6.06/hardy 8.04) / Debian:                &lt;ul&gt;&lt;li&gt;Virtual domains: &lt;tt&gt;/etc/apache2/sites-enabled/&lt;i&gt;&lt;b&gt;domain&lt;/b&gt;&lt;/i&gt;&lt;/tt&gt;              &lt;br /&gt;(Create soft link from &lt;tt&gt;/etc/apache2/sites-enabled/&lt;i&gt;domain&lt;/i&gt;&lt;/tt&gt; to &lt;tt&gt;/etc/apache2/sites-available/&lt;i&gt;domain&lt;/i&gt;&lt;/tt&gt; to turn on. Use command &lt;tt&gt;a2ensite&lt;/tt&gt;)               &lt;/li&gt;&lt;li&gt;Additional configuration directives: &lt;tt&gt;/etc/apache2/conf.d/&lt;/tt&gt;               &lt;/li&gt;&lt;li&gt;Modules to load: &lt;tt&gt;/etc/apache2/mods-available/&lt;/tt&gt;                   &lt;br /&gt;                   (Soft link to &lt;tt&gt;/etc/apache2/mods-enabled/&lt;/tt&gt; to turn on)               &lt;/li&gt;&lt;li&gt;Ports to listen to: &lt;tt&gt;/etc/apache2/ports.conf&lt;/tt&gt;               &lt;/li&gt;&lt;/ul&gt;           &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/var/log/httpd/access_log&lt;/tt&gt; and &lt;tt&gt;error_log&lt;/tt&gt; -     Red Hat/Fedora Core Apache log files    &lt;br /&gt;(Suse: &lt;tt&gt;/var/log/apache2/&lt;/tt&gt;)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Start/Stop/Restart scripts:&lt;/b&gt; The script is to be run with the qualifiers &lt;tt&gt;start&lt;/tt&gt;, &lt;tt&gt;stop&lt;/tt&gt;,       &lt;tt&gt;restart&lt;/tt&gt; or &lt;tt&gt;status&lt;/tt&gt;.       &lt;br /&gt;i.e.        &lt;tt&gt;/etc/rc.d/init.d/httpd restart&lt;/tt&gt;. A restart allows the web server  to start again and read the configuration files to pick up any changes. To have this script invoked upon system boot issue the command       &lt;tt&gt;chkconfig --add httpd&lt;/tt&gt;.  See &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;Linux Init Process Tutorial&lt;/a&gt; for a more complete discussion.       &lt;/p&gt;       &lt;p&gt; Also Apache control tool: &lt;tt&gt;/usr/sbin/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=apachectl&quot;&gt;apachectl&lt;/a&gt; start&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Apache Control Command: apachectl:&lt;/b&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat / Fedora Core / CentOS: &lt;tt&gt;&lt;b&gt;apachectl&lt;/b&gt; &lt;i&gt;directive&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt; Ubuntu dapper 6.06 / hardy 8.04 / Debian: &lt;tt&gt;&lt;b&gt;apache2ctl&lt;/b&gt; &lt;i&gt;directive&lt;/i&gt;&lt;/tt&gt;           &lt;table border=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;th&gt;Directive&lt;/th&gt;                 &lt;th&gt;Description&lt;/th&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;start&lt;/td&gt;                 &lt;td&gt;Start  the Apache httpd daemon. Gives an error if it is already running.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;stop&lt;/td&gt;                 &lt;td&gt;Stops the Apache httpd daemon.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;graceful&lt;/td&gt;                 &lt;td&gt;Gracefully restarts the Apache httpd daemon. If the daemon is not running, it is started. This differs from a normal restart in that currently open connections are not aborted.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;restart&lt;/td&gt;                 &lt;td&gt;Restarts the Apache httpd daemon. If the daemon is not running, it is started. This command automatically checks the configuration files as in configtest before initiating the restart to make sure the daemon doesn&#39;t die.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;status&lt;/td&gt;                 &lt;td valign=&quot;top&quot;&gt;Displays a  brief  status  report.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;fullstatus&lt;/td&gt;                 &lt;td valign=&quot;top&quot;&gt;Displays a full status report from mod_status. Requires mod_status enabled on your server and a text-based browser such as lynx available on your system. The URL used to access the status report can be set by editing the STATUSURL variable in the script.&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td valign=&quot;top&quot;&gt;configtest&lt;br /&gt;-t&lt;/td&gt;                 &lt;td valign=&quot;top&quot;&gt;Run a configuration file syntax test.&lt;/td&gt;               &lt;/tr&gt;              &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;b&gt;Apache Configuration Files:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;: is used to configure Apache. In the past it was broken down into three files. These may now be all concatenated into one file.  See &lt;a href=&quot;http://www.apache.org/docs/&quot;&gt;Apache online documentation&lt;/a&gt; for the full manual.         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/httpd/conf.d/&lt;i&gt;application&lt;/i&gt;.conf&lt;/tt&gt;: All configuration files     in this directory are included during Apache start-up. Used to store application specific configurations.          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/sysconfig/httpd&lt;/tt&gt;: Holds environment variables used when starting Apache.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Basic settings:&lt;/b&gt; Change the default value for &lt;tt&gt;ServerName www.&lt;&lt;i&gt;your-domain.com&lt;/i&gt;&gt;&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Giving Apache access to the file system:&lt;/b&gt; It is prudent to limit Apache&#39;s  view of the file system to only those directories necessary. This is done with the directory statement. Start by denying access to everything, then grant access to the necessary directories.       &lt;/p&gt;       &lt;p&gt; Deny access completely to file system root (&quot;/&quot;) as the default:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           Deny first, then grant permissions:           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;  &lt;br /&gt;&lt;directory&gt;&lt;br /&gt;  Options None&lt;br /&gt;  AllowOverride None&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;           &lt;p&gt;           &lt;/p&gt;           Set default location of system web pages and allow access: (Red Hat/Fedora/CentOS)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;  &lt;br /&gt;DocumentRoot &quot;/var/www/html&quot;&lt;br /&gt;&lt;br /&gt;&lt;directory&gt;&lt;br /&gt;  Options Indexes FollowSymLinks&lt;br /&gt;  AllowOverride None&lt;br /&gt;  Order allow,deny&lt;br /&gt;  Allow from all&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt; &lt;h3&gt;Grant access to a user&#39;s web directory: public_html&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;Enabling Red Hat / Fedora Linux, Apache &lt;tt&gt;public_html&lt;/tt&gt; user directory access:&lt;/b&gt;  &lt;p&gt; This will allow users to serve content from their home directories under the subdirectory &quot;&lt;tt&gt;/home/&lt;i&gt;userid&lt;/i&gt;/public_html/&lt;/tt&gt;&quot; by accessing the URL &lt;tt&gt;http://&lt;i&gt;hostname&lt;/i&gt;/~userid/&lt;/tt&gt; &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; File: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;LoadModule userdir_module modules/mod_userdir.so&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;ifmodule&gt;&lt;br /&gt;   &lt;b&gt;#UserDir disable             - Add comment to this line&lt;/b&gt;&lt;br /&gt;   #&lt;br /&gt;   # To enable requests to /~user/ to serve the user&#39;s public_html&lt;br /&gt;   # directory, remove the &quot;UserDir disable&quot; line above, and uncomment&lt;br /&gt;   # the following line instead:&lt;br /&gt;   &lt;b&gt;UserDir public_html          # Uncomment this line&lt;/b&gt;&lt;br /&gt;&lt;/ifmodule&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;directory&gt;&lt;br /&gt;   AllowOverride FileInfo AuthConfig Limit&lt;br /&gt;   Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec&lt;br /&gt;   &lt;limit&gt;&lt;br /&gt;       Order allow,deny&lt;br /&gt;       Allow from all&lt;br /&gt;   &lt;/limit&gt;&lt;br /&gt;   &lt;limitexcept&gt;&lt;br /&gt;       Order deny,allow&lt;br /&gt;       Deny from all&lt;br /&gt;   &lt;/limitexcept&gt;&lt;br /&gt;&lt;/directory&gt; &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt; Change to a comment (add &quot;#&quot; at beginning of line) from Fedora Core default &lt;tt&gt;UserDir  disable&lt;/tt&gt; and assign the directory &lt;tt&gt;public_html&lt;/tt&gt; as a web server accessible directory.      &lt;br /&gt;&lt;b&gt;OR&lt;/b&gt;      &lt;br /&gt;Assign a single user the specific ability to share their directory:       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt; &lt;directory&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html&gt;&lt;br /&gt;  AllowOverride None&lt;br /&gt;  order allow,deny&lt;br /&gt;  allow from all&lt;br /&gt;  Options Indexes Includes FollowSymLinks&lt;br /&gt;&lt;/directory&gt; &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Allows the specific user, &quot;&lt;i&gt;user1&lt;/i&gt;&quot; only, the ability to serve the directory &lt;tt&gt;/home/&lt;i&gt;&lt;b&gt;user1&lt;/b&gt;&lt;/i&gt;/public_html/&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt; Also use SELinux command to set the security context: &lt;tt&gt;setsebool httpd_enable_homedirs  true&lt;/tt&gt;       &lt;p&gt; File permissions: The Apache web server daemon must be able to read your web pages in order to feed thier contents to the network. Use an appropriate  umask and file protection. This works: &lt;tt&gt;chmod ugo+r -R public_html&lt;/tt&gt;      &lt;br /&gt; One may also use groups to control permisions.  See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html&quot;&gt;YoLinux tutorial on managing groups&lt;/a&gt;.       &lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;Enabling Ubuntu&#39;s Apache &lt;tt&gt;public_html&lt;/tt&gt; user directory access:&lt;/b&gt;        &lt;p&gt; Ubuntu has broken out the Apache loadable module directives into the directory &lt;tt&gt;/etc/apache2/mods-available/&lt;/tt&gt;.  To enable an Apache module, generate soft links to the directory &lt;tt&gt;/etc/apache2/sites-enabled/&lt;/tt&gt; by using the commands &lt;tt&gt;a2enmod&lt;/tt&gt;/&lt;tt&gt;a2dismod&lt;/tt&gt; to enable/disable Apache modules.  &lt;/p&gt; Example:  &lt;ul&gt;&lt;li&gt;&lt;tt&gt;&lt;b&gt;[root@node2]#&lt;/b&gt; a2enmod&lt;/tt&gt;     &lt;br /&gt;A list of available modules is displayed. Enter &quot;userdir&quot; as the module to enable. &lt;/li&gt;&lt;li&gt;Restart Apache with the following command: &lt;tt&gt;/etc/init.d/apache2 force-reload&lt;/tt&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; Note: This is the same as manually generating the following two soft links: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;tt&gt;ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/userdir.conf&lt;/tt&gt; &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load&lt;/tt&gt; &lt;/li&gt;&lt;/ul&gt; Man page: &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=a2enmod&quot;&gt;a2enmod/a2dismod&lt;/a&gt;              &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: If the Apache web server can not access the file you will get the error &quot;403 Forbidden&quot; &quot;You don&#39;t have permission to access &lt;i&gt;file-name&lt;/i&gt; on this server.&quot;  Note the default permissions on a user directory when first created with &quot;useradd&quot; are:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;tt&gt;drwx------   3 userx         userx&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt;  You must allow the web server running as user &quot;apache&quot; to access the directory if it is to display pages held there.       &lt;br /&gt; Fix with command: &lt;tt&gt;chmod ugo+rx /home/userx&lt;/tt&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;tt&gt;drwxr-xr-x   3 userx         userx&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt; &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;SELINUX&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;h3&gt;SELinux security contexts:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt; Fedora Core 3 and Red Hat Enterprise Linux 4 introduced SELinux (Security Enhanced Linux) security policies and context labels.           &lt;br /&gt;To view the security context labels applied to your web page files use the  command: &lt;tt&gt;ls -Z&lt;/tt&gt;           &lt;p&gt; The system enables/disables SELinux policies in the file &lt;tt&gt;/etc/selinux/config&lt;/tt&gt;          &lt;br /&gt;SELinux can be turned off by setting the directive SELINUX. (Then reboot the system):           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;SELINUX=disabled&lt;br /&gt;            &lt;br /&gt;&lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;  or using the command &lt;tt&gt;setenforce 0&lt;/tt&gt; to temporarily disable SELinux until the next reboot.           &lt;p&gt; When using SELinux security features,  the security context labels must be added so that Apache can read your files. The default security context label used is inherited from the directory for newly created files. Thus a copy (&lt;tt&gt;cp&lt;/tt&gt;) must be used and not a move (&lt;tt&gt;mv&lt;/tt&gt;) when placing files in the content directory. Move does not create a new file and thus the file does not recieve the directory security context label. The context labels used for the default Apache directories can be viewed with the command: &lt;tt&gt;ls -Z /var/www&lt;/tt&gt;          &lt;br /&gt;The web directories of users (i.e. &lt;tt&gt;public_html&lt;/tt&gt;) should be set with the appropriate context label (&lt;tt&gt;httpd_sys_content_t&lt;/tt&gt;).           &lt;/p&gt;           &lt;p&gt; Assign a security context for web pages: &lt;tt&gt;chcon -R -h -t httpd_sys_content_t /home/&lt;i&gt;user1&lt;/i&gt;/public_html&lt;/tt&gt;          &lt;br /&gt; Options:           &lt;/p&gt;           &lt;ul&gt;&lt;li&gt;-R: Recursive. Files and directories in current directory and all subdirectories.             &lt;/li&gt;&lt;li&gt;-h: Affect symbolic links.             &lt;/li&gt;&lt;li&gt;-t: Specify type of security context.             &lt;/li&gt;&lt;/ul&gt;            &lt;p&gt; Use the following security contexts:           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table border=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;th&gt;Context Type&lt;/th&gt;                     &lt;th&gt;Description&lt;/th&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_content_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Used for static web content. i.e. HTML web pages.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_exec_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Use for executable CGI scripts or binary executables.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_rw_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;CGI is allowed to alter/delete files of this context.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_ra_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;CGI is allowed to read or append files of this context.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_sys_script_ro_t&lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;CGI is allowed to read files and directories of this context.&lt;/td&gt;                   &lt;/tr&gt;                  &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Set the following options: &lt;tt&gt;setsebool &lt;i&gt;httpd-option&lt;/i&gt; true&lt;/tt&gt;          &lt;br /&gt;(or set to &lt;tt&gt;false&lt;/tt&gt;)           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table border=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;th&gt;Policy&lt;/th&gt;                     &lt;th&gt;Description&lt;/th&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_enable_cgi &lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Allow httpd cgi support.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_enable_homedirs  &lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Allow httpd to read home directories.&lt;/td&gt;                   &lt;/tr&gt;                    &lt;tr&gt;                     &lt;td&gt;&lt;tt&gt;httpd_ssi_exec  &lt;/tt&gt;&lt;/td&gt;                     &lt;td&gt;Allow httpd to run SSI executables in the same domain as system CGI scripts.&lt;/td&gt;                   &lt;/tr&gt;                  &lt;/tbody&gt;               &lt;/table&gt;  Then restart Apache:                &lt;ul&gt;&lt;li&gt;Red Hat/Fedora/Suse and all System V init script based Linux systems: &lt;tt&gt;/etc/init.d/httpd restart&lt;/tt&gt;                 &lt;/li&gt;&lt;li&gt;Red Hat/Fedora: &lt;tt&gt;service httpd restart&lt;/tt&gt;                 &lt;/li&gt;&lt;/ul&gt;              &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; The default SE boolean values are specified in the file: &lt;tt&gt;/etc/selinux/targeted/booleans&lt;/tt&gt;           &lt;/p&gt;           &lt;p&gt; For more on SELinux see the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialSysAdmin.html#SELINUX&quot;&gt;YoLinux Systems Administration tutorial&lt;/a&gt;.           &lt;/p&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Virtual Hosts:&lt;/h3&gt; The Apache web server allows one to configure a single computer to represent multiple websites as if they were on separate hosts. There are two methods available and we describe the configuration of each. Choose one method for your domain: &lt;ul&gt;&lt;li&gt;Name based virtual host: (most common)           A single computer with a single IP adress supporting multiple web domains.           The web browser using the http protocol, identifies the domain being addressed.       &lt;/li&gt;&lt;li&gt;IP based virtual host: The virtual hosts can be configured as a single multi-homed computer with multiple IP addresses on a single network card, with each IP address representing a different web domain. This has the appearance of a web domain supported by a dedicated computer because it has a dedicated IP address. &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuring a &quot;name based&quot; virtual host:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt; A virtual host configuration allows one to host multiple web site domains on one server.  (This is not required for a dedicated linux server which hosts a single web site.)           &lt;p&gt;           &lt;/p&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;NameVirtualHost &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;          &lt;b&gt;- CNAME (bind DNS alias www) specified in Bind configuration file (/var/named/...)&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;             &lt;b&gt;- Allows requests by domain name without the &quot;www&quot; prefix.&lt;/b&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;  ErrorLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-error_log&lt;br /&gt;  TransferLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-access_log&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;                &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;            &lt;p&gt;           &lt;b&gt;Notes:&lt;/b&gt;           &lt;/p&gt;           &lt;ul&gt;&lt;li&gt;You can specify more than one IP address. i.e. if web server is also being used as a firewall/gateway and you have an external internet IP address as well as a local network IP address.                &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;NameVirtualHost &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;NameVirtualHost &lt;b&gt;&lt;i&gt;192.168.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX 192.168.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ...&lt;br /&gt;  ..&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;     See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html&quot;&gt;YoLinux Tutorial on configuring a network gateway/firewall using iptables and NAT&lt;/a&gt;.             &lt;/li&gt;&lt;li&gt;Use your IP address for &lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;, actual domain name and e-mail address.   &lt;br /&gt;One can use DNS views to provide different local network DNS results.               &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;Note that I configure Apache for both requests http://www.&lt;i&gt;domain-name.com&lt;/i&gt; and http://&lt;i&gt;domain-name.com&lt;/i&gt;.               &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;Once virtual hosts are configured, your default system      domain (&lt;tt&gt;/var/www/html&lt;/tt&gt;) will stop working.     Your default domain now must be configured as a virtual domain.               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;directory&gt;&lt;br /&gt;&lt;br /&gt;  ...  &lt;b&gt;&lt;i&gt;This part remains the same&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ..&lt;br /&gt;&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;&lt;br /&gt;# Default for when no domain name is given (i.e. access by IP address)&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;*:80&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /var/www/html&lt;br /&gt;  ErrorLog logs/error_log&lt;br /&gt;  TransferLog logs/access_log&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;# Add a VirtualHost definition for your domain which was once the system default.&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /var/www/html&lt;br /&gt;  ErrorLog logs/error_log&lt;br /&gt;  TransferLog logs/access_log&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;  ...&lt;br /&gt;  ..&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;                &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;Forwarding to a primary URL. It is best to avoid the appearance of duplicated web content from two URLs such as http://www.&lt;i&gt;your-domain&lt;/i&gt;.com and   http://&lt;i&gt;your-domain&lt;/i&gt;.com. Supply a forwarding Apache &quot;Redirect&quot;.               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;   &lt;b&gt;&lt;i&gt;- Note that no aliases are listed&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ...&lt;br /&gt;  ...&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;# Add a VirtualHost definition to forward to your primary URL&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;other-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ServerAlias www.&lt;b&gt;&lt;i&gt;other-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  Redirect permanent / http://www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;.com/&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;  ...&lt;br /&gt;  ..&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Note:                &lt;ul&gt;&lt;li&gt;See the YoLinux.com &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/ApacheRedirect.html&quot;&gt;Apache &quot;Redirect&quot; Tutorial&lt;/a&gt;                 &lt;/li&gt;&lt;/ul&gt;                &lt;p&gt;               &lt;/p&gt;               &lt;p&gt;               &lt;/p&gt;             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.apache.org/docs/vhosts/examples.html&quot;&gt;More virtual host examples.&lt;/a&gt;             &lt;/li&gt;&lt;/ul&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; When specifying more domains, they may all use the same IP address or some/all  may use their own unique IP address.  Specify a &quot;NameVirtualHost&quot; for each IP address.        &lt;/p&gt;       &lt;p&gt; After the Apache configuration files have been edited, restart the httpd daemon:       &lt;tt&gt;/etc/rc.d/init.d/httpd restart&lt;/tt&gt; (Red Hat) or &lt;tt&gt;/etc/init.d/apache2 restart&lt;/tt&gt; (Ubuntu / Debian)       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Apache virtual domain configuration with Ubuntu Dapper/Hardy:&lt;/h4&gt;  Ububntu separates out each virtual domain into a separate configuration file  held in the directory &lt;tt&gt;/etc/apache2/sites-available/&lt;/tt&gt;.  When the site domain is to become active, a soft link is created to the directory &lt;tt&gt;/etc/apache2/sites-enabled/&lt;/tt&gt;.       &lt;dl&gt;&lt;dd&gt; Example: &lt;tt&gt;/etc/apache2/sites-available/supercorp&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;virtualhost&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;&gt;&lt;br /&gt;       ServerName supercorp.com&lt;br /&gt;       ServerAlias www.supercorp.com&lt;br /&gt;       ServerAdmin webmaster@localhost&lt;br /&gt;&lt;br /&gt;       DocumentRoot /home/supercorp/public_html/home&lt;br /&gt;       &lt;directory&gt;&lt;br /&gt;               Options FollowSymLinks&lt;br /&gt;               AllowOverride None&lt;br /&gt;       &lt;/directory&gt;&lt;br /&gt;       &lt;directory&gt;&lt;br /&gt;               Options Indexes FollowSymLinks MultiViews&lt;br /&gt;               IndexOptions SuppressLastModified SuppressDescription&lt;br /&gt;               AllowOverride All&lt;br /&gt;               Order allow,deny&lt;br /&gt;               allow from all&lt;br /&gt;       &lt;/directory&gt;&lt;br /&gt;&lt;br /&gt;       ScriptAlias /cgi-bin/ /home/supercorp/cgi-bin/&lt;br /&gt;       &lt;directory&gt;&lt;br /&gt;               AllowOverride None&lt;br /&gt;               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch&lt;br /&gt;               Order allow,deny&lt;br /&gt;               Allow from all&lt;br /&gt;       &lt;/directory&gt;&lt;br /&gt;&lt;br /&gt;       ErrorLog /var/log/apache2/supercorp.com-error.log&lt;br /&gt;&lt;br /&gt;       # Possible values include: debug, info, notice, warn, error,&lt;br /&gt;       # crit, alert, emerg.&lt;br /&gt;       LogLevel warn&lt;br /&gt;       CustomLog /var/log/apache2/supercorp.com-access.log combined&lt;br /&gt;       ServerSignature On&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  Enable domain:           &lt;ul&gt;&lt;li&gt;Create soft link:                &lt;ul&gt;&lt;li&gt;Manually: &lt;tt&gt;ln -s /etc/apache2/sites-available/supercorp /etc/apache2/sites-enabled/supercorp&lt;/tt&gt;               &lt;/li&gt;&lt;li&gt;Use Ubuntu scripts &lt;tt&gt;a2ensite&lt;/tt&gt;/&lt;tt&gt;a2dissite&lt;/tt&gt;. Type command and it will prompt you as to which site you would like to enable or disable.               &lt;/li&gt;&lt;/ul&gt;             &lt;/li&gt;&lt;li&gt;Restart Apache:                &lt;ul&gt;&lt;li&gt;&lt;tt&gt;apache2ctl graceful&lt;/tt&gt;         &lt;br /&gt;        &lt;b&gt;or&lt;/b&gt;     &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/init.d/apache2 restart&lt;/tt&gt;        &lt;br /&gt;        &lt;b&gt;or&lt;/b&gt;     &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/etc/init.d/apache2 reload&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;     &lt;/li&gt;&lt;/ul&gt;  Also note that Apache modules can also be enabled/disabled with scripts &lt;tt&gt;a2enmod/a2dismod&lt;/tt&gt;. &lt;p&gt; Man pages: &lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=a2enmod&quot;&gt;a2ensite/a2dissite&lt;/a&gt; (Ubuntu: Apache 2 enable/disable site) &lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=apache2ctl&quot;&gt;apache2ctl&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuring an &quot;IP based&quot; virtual host:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt; One may assign multiple IP addresse to a single network interface. See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialNetworking.html#NETWORKALIASING&quot;&gt;YoLinux networking tutorial: Network Aliasing&lt;/a&gt;.  Each IP address may then be it&#39;s own virtual server and individual domain. The downside of the &quot;IP based&quot; virtual host method is that you have to possess  multiple/extra IP addresses. This usually costs more.  The standard name based virtual hosting method above is more popular for this reason.           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt; &lt;pre&gt;  &lt;br /&gt;NameVirtualHost *              &lt;b&gt;&lt;i&gt;- Indicates all IP addresses&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;*&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user0&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;default-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user0&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.101&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;domain-1.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.102&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;domain-2.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user2&lt;/i&gt;&lt;/b&gt;/public_html&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  The default &lt;tt&gt;&lt;virtualhost&gt;&lt;/tt&gt; block will be used as the default for all IP addresses not specified explicitly.  This default IP (*) may not work for &lt;tt&gt;https&lt;/tt&gt; URL&#39;s.         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;CGI: (Common Gateway Interface)&lt;/h3&gt;   CGI is a program executable which dynamically generates a web page by writing to &lt;tt&gt;stdout&lt;/tt&gt;. CGI is permitted by either of two configuration file directives:       &lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;tt&gt;ScriptAlias&lt;/tt&gt;&lt;/b&gt;:           &lt;ul&gt;&lt;li&gt;Red Hat 7.x-9, Fedora core: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/var/www/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Red Hat 6.x and older: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/home/httpd/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Suse 9.x: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/srv/www/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian: &lt;tt&gt; ScriptAlias /cgi-bin/ &quot;/usr/lib/cgi-bin/&quot;&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;      &lt;b&gt;or&lt;/b&gt;         &lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;tt&gt; Options +ExecCGI&lt;/tt&gt;&lt;/b&gt;:           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;               &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;directory&gt;&lt;br /&gt;Options +ExecCGI&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;         &lt;/li&gt;&lt;/ul&gt;  The executable program files must have execute privileges, executable by the  process owner (Red Hat 7+/Fedora Core: &lt;tt&gt;apache&lt;/tt&gt;.  Older use &lt;tt&gt;nobody&lt;/tt&gt;) under which the httpd daemon is being run.       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuring CGI To Run With User Privileges:&lt;/h3&gt; The suEXEC feature provides Apache users the ability to run CGI and SSI programs under user IDs different from the user ID of the calling web-server. Normally, when a CGI or SSI program executes, it runs as the same user who is running the web server.        &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   NameVirtualHost &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  &lt;virtualhost&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;&gt;&lt;br /&gt;  ServerName &lt;b&gt;node1.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;                         &lt;b&gt;- Allows requests by domain name without the &quot;www&quot; prefix.&lt;/b&gt;&lt;br /&gt;  ServerAlias &lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt; www.&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;          &lt;b&gt;- CNAME (alias www) specified in Bind configuration file (/var/named/...)&lt;/b&gt;&lt;br /&gt;  ServerAdmin &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  DocumentRoot /home/&lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  ErrorLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-error_log&lt;br /&gt;  TransferLog logs/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;-access_log&lt;br /&gt;&lt;br /&gt;  SuexecUserGroup &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt; &lt;b&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  &lt;directory&gt;&lt;i&gt;user1&lt;/i&gt;&lt;/b&gt;/public_html/&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;/&gt;&lt;br /&gt;     Options +ExecCGI +Indexes&lt;br /&gt;     AddHandler cgi-script .cgi&lt;br /&gt;  &lt;/directory&gt;&lt;br /&gt;  &lt;/virtualhost&gt;&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;ERROR Pages:&lt;/h3&gt;        &lt;p&gt; You can specify your own web pages instead of the default Apache error pages:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   ErrorDocument 404 /Error404-missing.html&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  Create the file &lt;tt&gt;Error404-missing.html&lt;/tt&gt; in your &quot;DocumentRoot&quot; directory.         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;PHP:&lt;/h3&gt;        &lt;p&gt;If the appropriate php, perl and httpd RPM&#39;s are installed, the default Red Hat Apache configuration and modules will support PHP content. RPM Packages (RHEL4): &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;php: HTML-embedded scripting language         &lt;/li&gt;&lt;li&gt;php-pear: PEAR is a framework and distribution system for reusable PHP components.         &lt;/li&gt;&lt;li&gt;php-mysql: MySQL database support.         &lt;/li&gt;&lt;li&gt;php-ldap: Lightweight Directory Access Protocol (LDAP) support         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Apache configuration:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Add php default page index.php to apache config file: &lt;tt&gt;/etc/httpd/conf/httpd.conf&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;...&lt;br /&gt;&lt;br /&gt;DirectoryIndex index.html index.htm &lt;b&gt;index.php&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;  PHP Configuration File: &lt;ul&gt;&lt;li&gt;RHEL4 - PHP 4.3: &lt;tt&gt;/etc/php.ini&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu Daper 6.06/6.11: &lt;tt&gt;/etc/php5/apache2/php.ini&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;[PHP]&lt;br /&gt;engine = On&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;display_errors = Off&lt;br /&gt;include_path = &quot;.:/php/includes&quot;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;memory_limit = 32M   ; &lt;i&gt;Default is typically 8MB which is too low.&lt;/i&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;[MySQL]&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;mysql.default_host = &lt;i&gt;&lt;b&gt;superserver&lt;/b&gt;&lt;/i&gt;    ; &lt;i&gt;Hostname of the computer&lt;/i&gt;&lt;br /&gt;mysql.default_user = &lt;i&gt;&lt;b&gt;dbuser&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;...&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Small portion of file shown.&lt;br /&gt;Note that changes will not take effect until the apache web server daemon is restarted.         &lt;/dd&gt;&lt;/dl&gt;       &lt;p&gt; Test you PHP capabilities with this test file: &lt;tt&gt;/home/&lt;i&gt;user1&lt;/i&gt;/public_html/test.php&lt;/tt&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;?php&lt;br /&gt;  phpinfo();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;  OR (older format)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;?&lt;br /&gt;  phpinfo();&lt;br /&gt;?&gt;&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt;  Test: &lt;tt&gt;http://localhost/~&lt;i&gt;user1&lt;/i&gt;/test.php&lt;/tt&gt;       &lt;p&gt; For more info see &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/WebPageScripting.html#PHP&quot;&gt;YoLinux list of PHP information web sites&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Running Multiple instances of &lt;tt&gt;httpd&lt;/tt&gt;:&lt;/h3&gt;        &lt;p&gt; The Apache web server daemon (&lt;tt&gt;httpd&lt;/tt&gt;) can be started with the command  line option &quot;-f&quot; to specify a unique configuration file for each instance.  Configure a unique IP address for each instance of Apache.  See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialNetworking.html#NETWORKALIASING&quot;&gt;YoLinux Networking Tutorial&lt;/a&gt; to specify multiple IP addresses for one NIC (Network Interface Card). Use the Apache configuration file directive &lt;tt&gt;Listen &lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/tt&gt;, where the IP address is unique for each instance of Apache.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Apache Man Pages:&lt;/h3&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=httpd&quot;&gt;httpd&lt;/a&gt; - Apache Hypertext Transfer Protocol Server         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=apachectl&quot;&gt;apachectl&lt;/a&gt; - Apache HTTP Server Control Interface         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ab&quot;&gt;ab&lt;/a&gt; - Apache HTTP server benchmarking tool         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=htdigest&quot;&gt;htdigest&lt;/a&gt; - manage user files for digest authentication         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=htpasswd&quot;&gt;htpasswd&lt;/a&gt; - Manage user files for basic authentication         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=logresolve&quot;&gt;logresolve&lt;/a&gt; - Resolve IP-addresses to hostnames in Apache log files         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=rotatelogs&quot;&gt;rotatelogs&lt;/a&gt; - Piped logging program to rotate Apache logs         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Also see the local online Apache configuration manual: &lt;a href=&quot;http://localhost/manual/&quot;&gt;http://localhost/manual/&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;h3&gt;Apache Red Hat / Fedora Core GUI configuration:&lt;/h3&gt;        &lt;p&gt; GUI configuration tool:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat EL 4/5, Fedora 2-10: &lt;tt&gt;/usr/bin/system-config-httpd&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 8/9, Fedora Core 1: &lt;tt&gt;/usr/bin/redhat-config-httpd&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;img src=&quot;http://www.yolinux.com/TUTORIALS/images/system-config-httpd.gif&quot; alt=&quot;Red Hat Apache httpd configuration tool&quot; /&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;b&gt;Adding web site login and password protection:&lt;/b&gt; See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html&quot;&gt;YoLinux tutorial on web site password protection&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Log file analysis:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt; Scanning the Apache web log files will not provide meaningfull statistics  unless they are graphed or presented in an easy to read fashion. The following  packages to a good job of presenting site statistics.       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.analog.cx/&quot;&gt;Analog&lt;/a&gt; - Also see &lt;a href=&quot;http://www.reportmagic.org/&quot;&gt;Report Magic for Analog&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.webalizer.com/&quot;&gt;Webalizer&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://awstats.sourceforge.net/&quot;&gt;AWStats&lt;/a&gt; - (requires PERL)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Web site statistic services:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.extreme-dm.com/tracking/?reg&quot;&gt;eXTReMe Tracking&lt;/a&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Load testing your server:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.ideit.com/products/pureload/&quot;&gt;PureLoad&lt;/a&gt; - JAVA load testing and reporting tool.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.webperfcenter.com/&quot;&gt;WebPerformance Trainer&lt;/a&gt; - Load Testing Tools.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Apache Links:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://cgiwrap.unixtools.org/&quot;&gt;CgiWrap&lt;/a&gt; - setuid wrapper that allows users to install and execute their own cgi scripts that get executed as their own userid         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.datrix.co.za/thumb/&quot;&gt;Thumbprint&lt;/a&gt; - CGI for viewing a directory of images as thumbnails         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.wwwthreads.org/&quot;&gt;WWWThreads.org&lt;/a&gt; - Commercial product - Advanced Web Conferencing Software         &lt;/li&gt;&lt;li&gt;Configuring https (mod_ssl):                &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.modssl.org/&quot;&gt;Mod_SSL.org: Home Page&lt;/a&gt;     &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.modssl.org/docs/2.8/ssl_howto.html&quot;&gt;Mod_SSL.org: Mod_SSL HowTo&lt;/a&gt;     &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.modssl.org/docs/2.8/ssl_faq.html#cert-real&quot;&gt;Mod_SSL.org: Steps to create SSL server certificate&lt;/a&gt;     &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://trident.mcs.kent.edu/%7Eimotiwal/apache.htm&quot;&gt;https configuration&lt;/a&gt;     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; &lt;a name=&quot;ANALOG&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt; &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt;&lt;b&gt;&lt;big&gt;Log file analysis using Analog:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt; Installation: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red Hat / Fedora: &lt;tt&gt;yum install analog&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu / Debian: &lt;tt&gt;apt-get install analog&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; Installation packages also available from the &lt;a href=&quot;http://www.analog.cx/download.html&quot;&gt;Analog downloads page&lt;/a&gt;. &lt;p&gt; &lt;/p&gt; Configuration file: &lt;tt&gt;/etc/analog.cfg&lt;/tt&gt; &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;LOGFILE /var/log/httpd/&lt;i&gt;your-domain.com&lt;/i&gt;-access_log* http://www.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;br /&gt;UNCOMPRESS *.gz,*.Z &quot;gzip -cd&quot;&lt;br /&gt;SUBTYPE *.gz,*.Z&lt;br /&gt;#&lt;br /&gt;OUTFILE /home/&lt;i&gt;user1&lt;/i&gt;/public_html/analog/Report.html&lt;br /&gt;#&lt;br /&gt;HOSTNAME &quot;&lt;i&gt;YourDomain.com&lt;/i&gt;&quot;&lt;br /&gt;HOSTURL  http://www.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;...&lt;br /&gt;..&lt;br /&gt;&lt;br /&gt;REQINCLUDE pages                  &lt;i&gt;&lt;b&gt;# Request page stats only&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;ALL ON&lt;br /&gt;LANGUAGE US-ENGLISH&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; One can view the settings which be used with your configuration file (also good for debugging): &lt;tt&gt;analog -settings&lt;/tt&gt; &lt;p&gt; Make Analog images available to the users report: &lt;tt&gt;ln -s /usr/share/analog/images/* /home/&lt;i&gt;user1&lt;/i&gt;/public_html/analog&lt;/tt&gt; &lt;/p&gt; &lt;p&gt; Log file location: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Red Hat / Fedora: &lt;tt&gt;/var/log/httpd/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu / Debian: &lt;tt&gt;/var/log/apache2/&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/dd&gt;&lt;/dl&gt; The Directive &lt;tt&gt;ALL ON&lt;/tt&gt; turns on all of the following: &lt;dl&gt;&lt;dd&gt; &lt;table border=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr&gt;&lt;th&gt;Analog Directive&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;MONTHLY ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each month&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;WEEKLY ON        &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each week&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DAILYREP ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each day&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DAILYSUM ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each day of the week&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;HOURLYREP ON     &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; one line for each hour of the day&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;GENERAL ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; the General Summary at the top&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;REQUEST ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which files were requested&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;FAILURE ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which files were not found&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DIRECTORY ON     &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; Directory Report&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;HOST ON          &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which computers requested files&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;ORGANISATION ON  &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which organisations they were from&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;DOMAIN ON        &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which countries they were in&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;REFERRER ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; where people followed links from&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;FAILREF ON       &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; where people followed broken links from&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;SEARCHQUERY ON   &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; the phrases and words they used...&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;SEARCHWORD ON    &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; ...to find you from search engines&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;BROWSERSUM ON    &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; which browser types people were using&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;OSREP ON         &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; and which operating systems&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;FILETYPE ON      &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; types of file requested&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;SIZE ON          &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; sizes of files requested&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;tt&gt;STATUS ON        &lt;/tt&gt;&lt;/td&gt;&lt;td&gt; number of each type of success and failure&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; Cron job to handle multiple domains: &lt;tt&gt;/etc/cron.daily/analog&lt;/tt&gt; &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;#!/bin/sh&lt;br /&gt;cp /opt/etc/analog-domain1.com.cfg      /etc/analog.cfg&lt;br /&gt;/usr/bin/analog&lt;br /&gt;cp /opt/etc/analog-domain2.com.cfg      /etc/analog.cfg&lt;br /&gt;/usr/bin/analog&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; Links: &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.analog.cx/&quot;&gt;Analog home page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.analog.cx/docs/quickref.html&quot;&gt;Analog command reference&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;a name=&quot;HTTPERF&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt; &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt;&lt;b&gt;&lt;big&gt;Measuring Web Server Performance:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt; See the YoLinux.com &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/WebServerBenchmarking.html&quot;&gt;web server benchmarking tutorial&lt;/a&gt;. &lt;/p&gt;        &lt;p&gt;       &lt;a name=&quot;FTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;FTPd and FTP user account configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; Many FTP programs exist. This example covers the popular       &lt;a href=&quot;http://vsftpd.beasts.org/&quot;&gt;vsftpd&lt;/a&gt; (Red Hat default 9.0, Fedora Core, Suse) and        &lt;a href=&quot;http://www.wu-ftpd.org/&quot;&gt;wu-ftpd&lt;/a&gt; (Washington University) program which comes standard with RedHat (last shipped with RedHat 8.0 but can be installed on any Linux system). (RPM: wu-ftpd) There are other FTP programs including &lt;a href=&quot;http://www.proftpd.org/&quot;&gt;proFtpd&lt;/a&gt;  (supports LDAP authentication, Apache like directives, full featured  ftp server software),        &lt;a href=&quot;http://www.bftpd.org/&quot;&gt;bftpd&lt;/a&gt;, &lt;a href=&quot;http://www.pureftpd.org/&quot;&gt;pure-ftpd&lt;/a&gt; (free BSD and optional on Suse), etc ...       &lt;/p&gt;       &lt;p&gt; FTPd and SELinux: To allow FTPd daemon access to users home directories: &lt;tt&gt;setsebool -P ftp_home_dir 1&lt;/tt&gt;&lt;br /&gt;Follow with the command &lt;tt&gt;service vsftpd restart&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt; FTPd configuration tutorials:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#VSFTPD&quot;&gt;# vsFTPd&lt;/a&gt;: Configuration         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#WUFTPD&quot;&gt;# WU-FTPd&lt;/a&gt;: Configuration         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#FTPCLIENTS&quot;&gt;# FTP Clients&lt;/a&gt;: Links         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;VSFTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;vsFTPd and FTP user account configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; The vsFTPd ftp server was first made available in Red Hat 9.0. It has been adopted by Suse and OpenBSD as well. This is currently the recomended FTP daemon for use on FTP servers.       &lt;/p&gt;     &lt;p&gt;     &lt;b&gt;Enable vsftpd:&lt;/b&gt;     &lt;/p&gt;     &lt;ul&gt;&lt;li&gt;Red Hat/Fedora Core/CentOS: VsFTPd is a stand alone service and by the default Fedora Core installation, not controlled by xinetd as is the wu-ftpd default installation.          &lt;br /&gt;Thus start service: &lt;tt&gt;service vsftpd start&lt;/tt&gt; (or: &lt;tt&gt;/etc/init.d/vsftpd start&lt;/tt&gt;)          &lt;br /&gt;Configure vsftpd to start upon system boot: &lt;tt&gt;chkconfig --add vsftpd&lt;/tt&gt;           &lt;p&gt;           &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;SuSE: By default, the vsftpd is an xinetd controlled service. To enable  FTP server services edit the file &lt;tt&gt;/etc/xinetd.d/vsftpd&lt;/tt&gt; and change:          &lt;br /&gt;          &lt;tt&gt;disable         = yes&lt;/tt&gt;          &lt;br /&gt;to:          &lt;br /&gt;          &lt;tt&gt;disable         = no&lt;/tt&gt;          &lt;br /&gt;Restart the xinetd daemon: &lt;tt&gt;/etc/init.d/xinetd restart&lt;/tt&gt;          &lt;br /&gt;Note: vsftpd can also be run as a stand-alone service to achieve a faster response time.           &lt;p&gt;           &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian:      &lt;ul&gt;&lt;li&gt;Install: &lt;tt&gt;apt-get install vsftpd&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;VsFTPd is a stand alone service.         &lt;ul&gt;&lt;li&gt;Start: &lt;tt&gt;/etc/init.d/vsftpd start&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Stop: &lt;tt&gt;/etc/init.d/vsftpd stop&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Restart: &lt;tt&gt;/etc/init.d/vsftpd restart&lt;/tt&gt;            &lt;br /&gt;(Use this command after making configuration file changes)         &lt;/li&gt;&lt;/ul&gt;     &lt;/li&gt;&lt;/ul&gt;      &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; For more on starting/stopping/configuring Linux services, see the        &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;YoLinux tutorial on the Linux init process and service activation&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Configuration files:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;vsFTPd  configuration file:            &lt;ul&gt;&lt;li&gt;Fedora Core / Red Hat: &lt;tt&gt;/etc/vsftpd/vsftpd.conf&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt;S.u.S.e. / Ubuntu (dapper/hardy) / Debian: &lt;tt&gt;/etc/vsftpd.conf&lt;/tt&gt;           &lt;/li&gt;&lt;/ul&gt;  Default for Fedora Core 3:           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;anonymous_enable=YES            &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Anonymous FTP allowed by default if you comment this out. Default directory used: &lt;tt&gt;/var/ftp&lt;/tt&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;local_enable=YES                &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment this to allow local users to log in with FTP.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;                               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;  Must also set SELinux boolean: setsebool -P ftp_home_dir 1&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;write_enable=YES                &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment this to enable any form of FTP write or upload command.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;local_umask=022                 &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Default is 077. Umask 022 is used by most other ftpd&#39;s.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#anon_upload_enable=YES         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment to allow the anonymous FTP user to upload files.&lt;br /&gt;                                 Requires the above global write enabled. Directory must also be writable by user.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#anon_mkdir_write_enable=YES    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uncomment this to allow the anonymous FTP user to be able to create new directories.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;dirmessage_enable=YES           &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Activate directory messages.&lt;br /&gt;                                 Messages given to remote users when they enter certain directories&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;xferlog_enable=YES              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Activate logging of uploads/downloads.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;connect_from_port_20=YES        &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- PORT transfer connections originate from port 20 (ftp-data)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#chown_uploads=YES              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uploaded anonymous files set to a specified owner. (not root)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#chown_username=&lt;i&gt;whoever&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;#xferlog_file=/var/log/vsftpd.log &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Specify logfile explicitly. Default is &lt;tt&gt;/var/log/vsftpd.log&lt;/tt&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;xferlog_std_format=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Output to log file in standard ftpd xferlog format&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#idle_session_timeout=600       &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Set timing out for an idle session.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#data_connection_timeout=120    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Set timing out for an idle data connection. Port 20&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#nopriv_user=ftpsecure          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Run ftp server as an isolated and unprivileged user.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# Enable this and the server will recognise asynchronous ABOR requests. Not&lt;br /&gt;# recommended for security (the code is non-trivial). Not enabling it, may confuse older FTP clients.&lt;br /&gt;#async_abor_enable=YES&lt;br /&gt;&lt;br /&gt;#ascii_upload_enable=YES        &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Improve performance by disabling ASCII mode. Disables command &quot;ascii&quot; and &quot;SIZE /big/file&quot;.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#ascii_download_enable=YES&lt;br /&gt;&lt;br /&gt;#ftpd_banner=Welcome to YoLinux &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Customize the login banner string.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#deny_email_enable=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Disallow specified anonymous e-mail addresses. Used to combat certain DoS attacks.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#banned_email_file=/etc/vsftpd.banned_emails  &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;(Ubuntu default. Red Hat: /etc/vsftpd/banned_emails)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#chroot_list_enable=YES         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- List users chroot()&#39;d to their home directory. If &quot;NO&quot;, list users not chroot()&#39;d.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;#chroot_list_file=/etc/vsftpd.chroot_list     &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;(Ubuntu default. Red Hat: /etc/vsftpd/chroot_list)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ls_recurse_enable=YES           &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Allow &quot;ls -R&quot; recursive directory list. Default is disabled.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;pam_service_name=vsftpd&lt;br /&gt;&lt;br /&gt;userlist_enable=YES             &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- (Ubuntu Default) Deny users specified in file &lt;tt&gt;/etc/vsftpd.user_list&lt;/tt&gt;&lt;br /&gt;                                 If &quot;&lt;tt&gt;userlist_enable=NO&lt;/tt&gt;&quot; then allow specified users.&lt;/span&gt;&lt;br /&gt;                                 Red Hat: /etc/vsftpd/user_list&lt;/b&gt;&lt;br /&gt;#deny_email_enable=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Disallow specified anonymous e-mail addresses. Used to combat certain DoS attacks.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;listen=YES                      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Enable for standalone mode as opposed to an xinetd service.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;                               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;  Must set SELinux boolean: setsebool -P ftpd_is_daemon 1&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;tcp_wrappers=YES&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Restart the FTP service if the config file is changed: &lt;tt&gt;service vsftpd restart&lt;/tt&gt; (or: &lt;tt&gt;/etc/init.d/vsftpd restart&lt;/tt&gt;)                  &lt;p&gt;               &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: vsftp does NOT support comments on the same line as a directive. i.e.:               &lt;/p&gt;               &lt;dl&gt;&lt;dd&gt;&lt;tt&gt;directive=XXX    # comment&lt;/tt&gt;                 &lt;/dd&gt;&lt;/dl&gt;                &lt;p&gt;               &lt;a href=&quot;http://vsftpd.beasts.org/vsftpd_conf.html&quot;&gt;vsftp.conf man page&lt;/a&gt;               &lt;/p&gt;             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Specify list of local users chrooted to their home directories:             &lt;ul&gt;&lt;li&gt;Red Hat: &lt;tt&gt;/etc/vsftpd/vsftpd/chroot_list&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu: &lt;tt&gt;/etc/vsftpd/vsftpd.chroot_list&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; (Requires: &lt;tt&gt;chroot_list_enable=YES&lt;/tt&gt;)           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;i&gt;user1&lt;br /&gt;user2&lt;br /&gt;...&lt;br /&gt;user-n&lt;/i&gt;&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  If &lt;tt&gt;userlist_enable=NO&lt;/tt&gt;, then specify users not to be chroot&#39;d..             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Specify list of users:             &lt;ul&gt;&lt;li&gt;Red Hat: &lt;tt&gt;/etc/vsftpd/user_list&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu: &lt;tt&gt;/etc/vsftpd.user_list&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt; (Deny list of users requires: &lt;tt&gt;userlist_enable=YES&lt;/tt&gt;)    &lt;br /&gt;Also see PAM configuration below.           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;root&lt;br /&gt;bin&lt;br /&gt;daemon&lt;br /&gt;adm&lt;br /&gt;lp&lt;br /&gt;sync&lt;br /&gt;shutdown&lt;br /&gt;halt&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  If &lt;tt&gt;userlist_enable=NO&lt;/tt&gt;, then specify valid users.             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;PAM configuration file Fedora Core 3: &lt;tt&gt;/etc/pam.d/vsftpd&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;#%PAM-1.0&lt;br /&gt;auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed&lt;br /&gt;auth       required     pam_stack.so service=system-auth&lt;br /&gt;auth       required     pam_shells.so&lt;br /&gt;account    required     pam_stack.so service=system-auth&lt;br /&gt;session    required     pam_stack.so service=system-auth&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  This causes PAM to check &lt;tt&gt;/etc/vsftpd.ftpusers&lt;/tt&gt; for users who are denied. This duplicates &lt;tt&gt;/etc/vsftpd.user_list&lt;/tt&gt;. Speciy user in both files as PAM is independent of vsftpd configuration.               &lt;p&gt;               &lt;/p&gt; PAM authentication configuration file: &lt;tt&gt;ftpusers&lt;/tt&gt; &lt;ul&gt;&lt;li&gt;Red Hat: &lt;tt&gt;/etc/vsftpd/ftpusers&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Ubuntu: &lt;tt&gt;/etc/vsftpd.ftpusers&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;root&lt;br /&gt;bin&lt;br /&gt;daemon&lt;br /&gt;adm&lt;br /&gt;lp&lt;br /&gt;sync&lt;br /&gt;shutdown&lt;br /&gt;halt&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;i&gt;&lt;b&gt;user6&lt;/b&gt;&lt;/i&gt;     &lt;i&gt;&lt;b&gt;&lt;span style=&quot;color:#009900;&quot;&gt;- Users to deny&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;user8&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Logrotate configuration file: &lt;tt&gt;/etc/logrotate.d/vsftpd.log&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt; &lt;pre&gt;/var/log/xferlog {&lt;br /&gt;   # ftpd doesn&#39;t handle SIGHUP properly&lt;br /&gt;   nocompress&lt;br /&gt;   missingok&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;b&gt;Sample vsFTPd configurations:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Anonymous download FTP server configuration: &lt;tt&gt;/etc/vsftpd/vsftpd.conf&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;# Access rights&lt;br /&gt;anonymous_enable=YES          &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Turn on anonymous FTP&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chown_uploads=YES             &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uploaded files owned by an assigned user&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chown_username=ftp            &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Uploaded files owned by this assigned user&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;local_enable=NO&lt;br /&gt;write_enable=NO               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- No upload of files system changes allowed&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;anon_upload_enable=NO&lt;br /&gt;anon_mkdir_write_enable=NO&lt;br /&gt;anon_other_write_enable=NO&lt;br /&gt;# Security&lt;br /&gt;anon_world_readable_only=YES&lt;br /&gt;connect_from_port_20=YES&lt;br /&gt;force_dot_files=NO&lt;br /&gt;guest_enable=NO&lt;br /&gt;hide_ids=YES&lt;br /&gt;pasv_min_port=50000&lt;br /&gt;pasv_max_port=60000&lt;br /&gt;# Features&lt;br /&gt;xferlog_enable=YES&lt;br /&gt;ls_recurse_enable=NO&lt;br /&gt;ascii_download_enable=NO&lt;br /&gt;async_abor_enable=YES&lt;br /&gt;# Performance&lt;br /&gt;one_process_model=NO&lt;br /&gt;idle_session_timeout=120&lt;br /&gt;data_connection_timeout=300&lt;br /&gt;accept_timeout=60&lt;br /&gt;connect_timeout=60&lt;br /&gt;max_per_ip=4&lt;br /&gt;anon_max_rate=50000&lt;br /&gt;&lt;br /&gt;pam_service_name=vsftpd&lt;br /&gt;userlist_enable=YES&lt;br /&gt;#enable for standalone mode&lt;br /&gt;listen=YES&lt;br /&gt;tcp_wrappers=YES&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Anonymous logins use the login name &quot;anonymous&quot; and then the user supplies their email address as a password. Any password will be accepted. Used to allow the public to download files from an ftp server.  Generally, no upload is permitted.             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Web hosting configuration: &lt;tt&gt;/etc/vsftpd/vsftpd.conf&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;# Access rights&lt;br /&gt;anonymous_enable=NO&lt;br /&gt;local_enable=YES                              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Allow users to ftp to their home directories&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;write_enable=YES                              &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Allow users to STOR,  DELE, RNFR, RNTO, MKD, RMD, APPE and SITE&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;local_umask=022&lt;br /&gt;# Security&lt;br /&gt;connect_from_port_20=YES&lt;br /&gt;force_dot_files=NO&lt;br /&gt;guest_enable=NO                               &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Don&#39;t remap user name&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;ftpd_banner=Welcome to Super Duper Hosting    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Customize the login banner string.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chroot_local_user=YES                         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Limit user to browse their own directory only&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chroot_list_enable=YES                        &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Enable list of system / power users&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;chroot_list_file=/etc/vsftpd.chroot_list      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Actual list of system / power users&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;hide_ids=YES&lt;br /&gt;pasv_min_port=50000&lt;br /&gt;pasv_max_port=60000&lt;br /&gt;# Features&lt;br /&gt;xferlog_enable=YES&lt;br /&gt;ls_recurse_enable=NO&lt;br /&gt;ascii_download_enable=NO&lt;br /&gt;async_abor_enable=YES&lt;br /&gt;dirmessage_enable=YES                         &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Message greeting held in file .message or specify with message_file=...&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;# Performance&lt;br /&gt;one_process_model=NO&lt;br /&gt;idle_session_timeout=120&lt;br /&gt;data_connection_timeout=300&lt;br /&gt;accept_timeout=60&lt;br /&gt;connect_timeout=60&lt;br /&gt;max_per_ip=4&lt;br /&gt;#&lt;br /&gt;pam_service_name=vsftpd&lt;br /&gt;userlist_enable=YES&lt;br /&gt;#enable for standalone mode&lt;br /&gt;listen=YES&lt;br /&gt;tcp_wrappers=YES&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Specify list of local users chrooted to their home directories: &lt;tt&gt;/etc/vsftpd/vsftpd.chroot_list&lt;/tt&gt;    &lt;br /&gt;Ubuntu typically: &lt;tt&gt;/etc/vsftpd.chroot_list&lt;/tt&gt;    &lt;br /&gt;(Requires: &lt;tt&gt;chroot_list_enable=YES&lt;/tt&gt;)           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;i&gt;user1&lt;br /&gt;user2&lt;br /&gt;...&lt;br /&gt;user-n&lt;/i&gt;&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  If &lt;tt&gt;userlist_enable=NO&lt;/tt&gt;, then specify users not to be chroot&#39;d..             &lt;/dd&gt;&lt;/dl&gt;                &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt; &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Mispelling a directive will cause vsftpd to fail with little warning. &lt;/p&gt; &lt;p&gt; File: &lt;tt&gt;.message&lt;/tt&gt; &lt;/p&gt; &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;A NOTE TO USERS UPLOADING FILES:&lt;br /&gt;  File names may consist of letters (a-z, A-Z), numbers (0-9),&lt;br /&gt;  an under score (&quot;_&quot;), dash (&quot;-&quot;) or period (&quot;.&quot;) only.&lt;br /&gt;  The file name may not begin with a period or dash.&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt;         &lt;p&gt;       &lt;b&gt;Test if vsftp is listening:&lt;/b&gt; &lt;tt&gt;netstat -a | grep ftp&lt;/tt&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;[root]# netstat -a | grep ftp&lt;br /&gt;tcp        0      0 *:ftp                       *:*                         LISTEN&lt;br /&gt;&lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;b&gt;Links:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://vsftpd.beasts.org/&quot;&gt;vsFTPd Home Page&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-2.0.3/EXAMPLE/&quot;&gt;Sample configurations&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://vsftpd.beasts.org/vsftpd_conf.html&quot;&gt;vsftp.conf Man page&lt;/a&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;WUFTPD&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;WU-FTPd and FTP user account configuration:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; The wu-ftpd FTP server can be downloaded (binary or source) from it&#39;s home page  at &lt;a href=&quot;http://wu-ftpd.org/&quot;&gt;http://wu-ftpd.org&lt;/a&gt;.       &lt;/p&gt;       &lt;p&gt; There are three kinds of FTP logins that wu-ftpd provides:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;anonymous FTP - one logs in with the username &#39;anonymous&#39;         &lt;/li&gt;&lt;li&gt;real FTP  - log in with a real username and password and has access to the entire disk structure.         &lt;/li&gt;&lt;li&gt;guest FTP - one logs in with a real user name and password, but the user is chroot&#39;ed to his home directory and cannot escape from it.  They are constrained to their home directory which also means that they don&#39;t  have access to /bin/ls and other commands on the server.  Thus a local minimalist environment must be set up.         &lt;/li&gt;&lt;/ul&gt;  This tutorial covers &quot;guest&quot; FTP configuration.       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt; The file &lt;tt&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpaccess&quot;&gt;ftpaccess&lt;/a&gt;&lt;/tt&gt; controls the configuration of ftp.       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   # Don&#39;t allow system accounts to log in over ftp&lt;br /&gt;  deny-uid %-99 %65534-&lt;br /&gt;  deny-gid %-99 %65534-&lt;br /&gt;&lt;br /&gt;  class   all   real,guest  *&lt;br /&gt;  email webmaster@&lt;b&gt;&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;  loginfails 5&lt;br /&gt;&lt;br /&gt;  readme  README*    login&lt;br /&gt;  readme  README*    cwd=*&lt;br /&gt;  message /welcome.msg            login&lt;br /&gt;  message .message                cwd=*&lt;br /&gt;&lt;br /&gt;  compress        yes             all&lt;br /&gt;  tar             yes             all&lt;br /&gt;  chmod           no              guest,anonymous&lt;br /&gt;  delete          no              anonymous    # delete files permission?&lt;br /&gt;  overwrite       no              anonymous    # overwrite files permission?&lt;br /&gt;  rename          no              anonymous    # rename files permission?&lt;br /&gt;  delete          yes             guest        # delete files permission?&lt;br /&gt;  overwrite       yes             guest        # overwrite files permission?&lt;br /&gt;  rename          yes             guest        # rename files permission?&lt;br /&gt;  umask           no              guest        # umask permission?&lt;br /&gt;&lt;br /&gt;  log transfers anonymous,real inbound,outbound&lt;br /&gt;&lt;br /&gt;  shutdown /etc/shutmsg&lt;br /&gt;&lt;br /&gt;  passwd-check rfc822 warn&lt;br /&gt;&lt;br /&gt;  # Must also create message file /etc/pathmsg of the guest directory.&lt;br /&gt;  # In this case it refers to /home/user1/public_html/etc/pathmsg.&lt;br /&gt;  path-filter  guest /etc/pathmsg  ^[-A-Za-z0-9_\.]*$  ^\.  ^-&lt;br /&gt;  limit all 2&lt;br /&gt;  noretrieve passwd .htaccess core    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Do not allow users to download files of these names&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  limit-time * 20&lt;br /&gt;  byte-limit in 5000                  &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Limit file size&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  guestuser *      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Set system user default to be categorized as a &quot;guest&quot;. A &quot;real&quot; user can roam the system. Guestuser is chrooted.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  realgroup regularuserx regularusery &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Assign real user privileges to members of groups &quot;regularuserx&quot; and &quot;regularusery&quot;.&lt;br /&gt;                                        Visibility of the whole file system and subject to regular UNIX file permissions&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  realuser user4                      &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Assign real user privileges to user id &quot;user4&quot;. &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  restricted-uid &lt;b&gt;user1&lt;/b&gt; user2 user3    &lt;b&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Restricts FTP to the specified directories&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;  guest-root /home/user1/public_html &lt;b&gt;user1&lt;/b&gt;&lt;br /&gt;  guest-root /home/user2/public_html user2&lt;br /&gt;  guest-root /home/user3/public_html user3&lt;br /&gt;&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Note:        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;user1, user2&lt;/tt&gt; and &lt;tt&gt;user3&lt;/tt&gt; refer to login accounts. Use the appropriate login name.         &lt;/li&gt;&lt;li&gt;The above configuration disables anonymous FTP which allows anyone to  perform an FTP login with the id &lt;b&gt;anonymous&lt;/b&gt; and an email address as a password. To enable anonymous FTP, change the &lt;tt&gt;class&lt;/tt&gt; directive to:          &lt;br /&gt;          &lt;dl&gt;&lt;dd&gt;&lt;tt&gt;class   all   real,guest,anonymous  *&lt;/tt&gt;&lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;li&gt;GUI FTP configuration tools:                &lt;ul&gt;&lt;li&gt;&lt;tt&gt;/usr/bin/kwuftpd&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/sbin/linuxconf&lt;/tt&gt;        &lt;br /&gt;(Note: Linuxconf is no longer included with Red Hat 7.3 and later)     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;li&gt;Red Hat Linux assigns users a user id and group id which is the same.     This means that it does not matter if you use a &lt;tt&gt;realuser&lt;/tt&gt; or     &lt;tt&gt;realgroup&lt;/tt&gt; directive as they will act the same.         &lt;/li&gt;&lt;li&gt;Red Hat Linux 7.1 and later uses the xinet daemon to manage ftp connections.     Thus xinetd must be running and configured to support ftp. The      configuration file is &lt;tt&gt;/etc/xinetd.d/wu-ftpd&lt;/tt&gt;.     The command &lt;tt&gt;chkconfig wu-ftpd on&lt;/tt&gt; will make the ftp server available.     See &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInternetSecurity.html#SECURITY&quot;&gt;xinet configuration&lt;/a&gt; for more info.         &lt;/li&gt;&lt;li&gt;Allow overide of &lt;tt&gt;deny-uid&lt;/tt&gt; and/or &lt;tt&gt;deny-gid&lt;/tt&gt;:                 &lt;pre&gt;     allow-uid &lt;b&gt;&lt;i&gt;user-to-allow&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;    allow-gid &lt;b&gt;&lt;i&gt;group-to-allow&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;   &lt;/pre&gt;          &lt;/li&gt;&lt;li&gt;Optional configuration:                &lt;ul&gt;&lt;li&gt;Create a group &lt;tt&gt;ftpchroot&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;Add users to this group     &lt;/li&gt;&lt;li&gt;Use directive: &lt;tt&gt;guestgroup ftpchroot&lt;/tt&gt;     &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Flakey ftp behavior,  timeouts, etc?? FTP works best with name resolution of the computer it is  communicating with.  This requires proper &lt;tt&gt;/etc/resolve.conf&lt;/tt&gt; and name server (bind)  configuration, &lt;tt&gt;/etc/hosts&lt;/tt&gt; or NIS/NFS configuration.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt; File &lt;tt&gt;/home/user1/public_html/etc/pathmsg&lt;/tt&gt;:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   A NOTE TO USERS UPLOADING FILES:&lt;br /&gt;  File names may consist of letters (a-z, A-Z), numbers (0-9),&lt;br /&gt;  an under score (&quot;_&quot;), dash (&quot;-&quot;) or period (&quot;.&quot;) only.&lt;br /&gt;  The file name may not begin with a period or dash.&lt;br /&gt;  You have tried to upload a file with an inappropriate name.&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt; The whole point of the chroot directory is to make the  user&#39;s home directory appear to be the root of the filesystem (/) so one could not wander around the filesystem. Configuration of &lt;tt&gt;/etc/ftpaccess&lt;/tt&gt; will limit the user to their respective directories while still offering access to /bin/ls and other system commands  used in FTP operation.       &lt;/p&gt;       &lt;p&gt; As root:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   cd /home/&lt;i&gt;user1&lt;/i&gt;&lt;br /&gt;  mkdir public_html&lt;br /&gt;  chown $1.$1 public_html&lt;br /&gt;  touch .rhosts             &lt;b&gt;- Security protection&lt;/b&gt;&lt;br /&gt;  chmod ugo-xrw .rhosts&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Man Pages:&lt;/h4&gt;        &lt;dl&gt;&lt;dd&gt;           &lt;b&gt;Server:&lt;/b&gt;           &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpd&quot;&gt;ftpd&lt;/a&gt; - Internet File Transfer Protocol server             &lt;/li&gt;&lt;/ul&gt;            &lt;b&gt;File Formats:&lt;/b&gt;           &lt;ul&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpaccess&quot;&gt;ftpaccess&lt;/a&gt; - Configuration file for ftpd             &lt;/li&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpservers&quot;&gt;ftpservers&lt;/a&gt; - ftpd virtual hosting configuration file. (optional)             &lt;/li&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftphosts&quot;&gt;ftphosts&lt;/a&gt; - allow or deny access to certain accounts from various hosts. (optional)             &lt;/li&gt;&lt;li&gt;/etc/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpconversions&quot;&gt;ftpconversions&lt;/a&gt; - ftpd conversions database (for tar and compression)             &lt;/li&gt;&lt;li&gt;/var/log/&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=xferlog&quot;&gt;xferlog&lt;/a&gt; - FTP server logfile             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftp&quot;&gt;ftp&lt;/a&gt; - File Transfer Client program             &lt;/li&gt;&lt;/ul&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Configuration files: (RH 8.0+)&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;PAM configuration file: &lt;tt&gt;/etc/pam.d/ftp&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;#%PAM-1.0&lt;br /&gt;auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed&lt;br /&gt;auth       required     pam_stack.so service=system-auth&lt;br /&gt;auth       required     pam_shells.so&lt;br /&gt;account    required     pam_stack.so service=system-auth&lt;br /&gt;session    required     pam_stack.so service=system-auth&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Xinetd configuration file: &lt;tt&gt;/etc/xinetd.d/wu-ftpd&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;service ftp&lt;br /&gt;{&lt;br /&gt;       disable = no&lt;br /&gt;       socket_type             = stream&lt;br /&gt;       wait                    = no&lt;br /&gt;       user                    = root&lt;br /&gt;       server                  = /usr/sbin/in.ftpd&lt;br /&gt;       server_args             = -l -a&lt;br /&gt;       log_on_success          += DURATION USERID&lt;br /&gt;       log_on_failure          += USERID&lt;br /&gt;       nice                    = 10&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;  Note: wu-FTPd is controlled by xinetd and not a stand alone service like vsFTPd.             &lt;/dd&gt;&lt;/dl&gt;                 &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;Logrotate configuration file: &lt;tt&gt;/etc/logrotate.d/ftpd&lt;/tt&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                  &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;/var/log/xferlog {&lt;br /&gt;   nocompress&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;                     &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;More information:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.wu-ftpd.org/&quot;&gt;WU-FTPD Development Group  Home Page&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.landfield.com/wu-ftpd/&quot;&gt;More resources&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.academ.com/academ/wu-ftpd/&quot;&gt;Academ Consulting&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.cetis.hvu.nl/%7Ekoos/wu-ftpd-faq.html&quot;&gt;FTP FAQ&lt;/a&gt; - Koos van den Hout&#39;s         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.kegel.com/dkftpbench/&quot;&gt;dkftpbench&lt;/a&gt; - FTP benchmark program to give you an idea as to how many simultaneous dialup clients a server can support.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://peterbenjamin.com/seminars/crossplatform/texteol.html&quot;&gt;FTP and text file type conversions: End Of Line Characters&lt;/a&gt; - by Peter Benjamin         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://chrootssh.sourceforge.net/docs/chrootedsftp.html&quot;&gt;Chrooted sftp (ssl) project&lt;/a&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Man pages on related FTP commands and files:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=chroot&quot;&gt;chroot&lt;/a&gt; - Run with a special root directory         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpcount&quot;&gt;ftpcount&lt;/a&gt; - Show number of concurrent users.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpshut&quot;&gt;ftpshut&lt;/a&gt; - close down the ftp servers at a given time         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftprestart&quot;&gt;ftprestart&lt;/a&gt; - Restart previously shutdown ftp servers         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpwho&quot;&gt;ftpwho&lt;/a&gt; - show current process information for each ftp user         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=privatepw&quot;&gt;privatepw&lt;/a&gt; - Change WU-FTPD Group Access File Information (admin command)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Other FTP daemons:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.ftp4all.de/v3/noframes/index.html&quot;&gt;FTP4All&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.crushftp.com/&quot;&gt;CrushFTP&lt;/a&gt; - Java/cross platform         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://ipswitch.com/Products/file-transfer.html&quot;&gt;WS_FTP&lt;/a&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;FTPPITFALLS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;FTP Pitfalls:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; If you get the following error:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;ftp&gt; ls&lt;br /&gt;227 Entering Passive Mode (208,188,34,109,208,89)&lt;br /&gt;ftp: connect: No route to host&lt;br /&gt;&lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;  This means you have firewall issues most probably on the FTP server itself. Start by removing the firewall &quot;iptables&quot; rules: &lt;tt&gt;iptables -F&lt;/tt&gt; Add rules until you discover what is causing the problem.       &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Passive mode:&lt;/h4&gt;  Passive mode can also help one past the rules:       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;ftp&gt; passive&lt;br /&gt;Passive mode on.&lt;br /&gt;&lt;/pre&gt;  This toggles passive mode on and off. When on, FTP will be limited to ports specified in the vsftpd configuration file: &lt;tt&gt;vsftpd.conf&lt;/tt&gt; with the parameters &lt;tt&gt;pasv_min_port&lt;/tt&gt; and &lt;tt&gt;pasv_max_port&lt;/tt&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Firewall connection tracking module:&lt;/h4&gt;        &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;# cat /etc/sysconfig/iptables-config | grep ip_nat_ftp&lt;br /&gt;IPTABLES_MODULES=&quot;ip_conntrack_ftp&quot;&lt;br /&gt;&lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;NAT firewall modules:&lt;/h4&gt;  You can also try adding &lt;tt&gt;ip_nat_ftp&lt;/tt&gt; to the list of autoloaded modules: (This will also load the dependancy: &lt;tt&gt;ip_conntrack_ftp&lt;/tt&gt;.)       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;# cat /etc/sysconfig/iptables-config | grep ip_nat_ftp&lt;br /&gt;IPTABLES_MODULES=&quot;ip_nat_ftp&quot;&lt;br /&gt;&lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;  Then restart the firewall: &lt;tt&gt;/etc/init.d/iptables condrestart&lt;/tt&gt;       &lt;p&gt; FTP will change ports during use. The &lt;tt&gt;ip_conntrack_ftp&lt;/tt&gt; module will consider each connection &quot;RELATED&quot;. If iptables allows RELATED and ESTABLISHED connections then FTP will work. i.e. rule: &lt;tt&gt;/etc/sysconfig/iptables&lt;/tt&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;pre&gt;-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;&lt;/pre&gt;         &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt; &lt;/p&gt;&lt;h4&gt;FTP fails because it can not change to the users home directory:&lt;/h4&gt;  &lt;dl&gt;&lt;dd&gt; Error: &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;[user1@nodex ~]$ ftp &lt;b&gt;&lt;i&gt;node.domain.com&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Connected to XXX.XXX.XXX.XXX.&lt;br /&gt;530 Please login with USER and PASS.&lt;br /&gt;530 Please login with USER and PASS.&lt;br /&gt;KERBEROS_V4 rejected as an authentication type&lt;br /&gt;Name (XXX.XXX.XXX.XXX:user1):&lt;br /&gt;331 Please specify the password.&lt;br /&gt;Password:&lt;br /&gt;500 OOPS: cannot change directory:/home/user1&lt;br /&gt;Login failed.&lt;br /&gt;ftp&gt; bye&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt; This is often a result of SELinux preventing the vsftpd process from accesing the user&#39;s home directory.  As root, grant access with the following command:&lt;br /&gt;&lt;tt&gt;setsebool -P ftp_home_dir 1&lt;/tt&gt; &lt;br /&gt;Followed by: &lt;tt&gt;service vsftpd restart&lt;/tt&gt; &lt;/p&gt;&lt;p&gt; Test your vsftpd SELinux settings: &lt;tt&gt;getsebool -a | grep ftp&lt;/tt&gt; &lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;allow_ftpd_anon_write --&gt; off&lt;br /&gt;allow_ftpd_full_access --&gt; off&lt;br /&gt;allow_ftpd_use_cifs --&gt; off&lt;br /&gt;allow_ftpd_use_nfs --&gt; off&lt;br /&gt;allow_tftp_anon_write --&gt; off&lt;br /&gt;ftp_home_dir --&gt; on&lt;br /&gt;ftpd_disable_trans --&gt; off&lt;br /&gt;ftpd_is_daemon --&gt; on&lt;br /&gt;httpd_enable_ftp_server --&gt; off&lt;br /&gt;tftpd_disable_trans --&gt; off&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;  &lt;p&gt; &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftpd_selinux&quot;&gt;FTPd SELinux man page&lt;/a&gt; &lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt;         &lt;p&gt;       &lt;a name=&quot;FTPCLIENTS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;FTP Linux clients:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://freshmeat.net/redir/kbear/14193/url_homepage/kbear.sourceforge.net&quot;&gt;kbear&lt;/a&gt;: GUI KDE based client. Connect to multiple servers, transfer files, directory browsing, file content browsing. Comes with S.U.S.e. Linux. &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.gftp.org/&quot;&gt;gftp&lt;/a&gt;: GUI GTK+ Multithreaded client. File transfer directory browsing and compare. Multiple protocols: FTP, FTPS (control connection only), HTTP, HTTPS, SSH and FSP protocols. Proxy support. Comes with Red Hat / Fedora Core. &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ftp&quot;&gt;ftp&lt;/a&gt;: (&lt;tt&gt;/usr/kerberos/bin/ftp&lt;/tt&gt;) kerberos enabled console ftp client. (RPM package FC3: krb5-workstation)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;USERSECURITY&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Basic user security:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; When hosting web sites, there is no need to grant a shell account which only  allows the server to have more potential security holes. Current systems can specify the user to have only FTP access with no shell by granting them the &quot;shell&quot; &lt;tt&gt;/sbin/nologin&lt;/tt&gt; provided with the system or the &quot;ftponly&quot; shell described below. The shell can be specified in the file &lt;tt&gt;/etc/passwd&lt;/tt&gt; of when creting a user with the command &lt;tt&gt;adduser -s /sbin/nologin &lt;i&gt;user-id&lt;/i&gt;&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Red Hat 7.3 server with wu-ftp server 2.6.2-5 does not support this configuration to prevent shell access. It requires users to have a real user shell.  i.e. &lt;tt&gt;/bin/bash&lt;/tt&gt; It works great in older and current Red Hat versions.  If it works for you, use it, as it is more secure to deny the user shell access. You can always deny telnet access. You should NOT be using this problem ridden version of ftpd. Use the latest wu-ftpd-2.6.2-11 which supports users with shell &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Ubuntu Dapper/Hardy - Setting the shell to the preconfigured shell &lt;tt&gt;/bin/false&lt;/tt&gt; will NOT allow vsftp access. One must create the shell &quot;ftponly&quot; as defined below to allow vsftp access with no shell.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;ol&gt;&lt;li&gt;Disable remote telnet login access allowing FTP access only:                &lt;p&gt;     Change the shell for the user in &lt;tt&gt;/etc/passwd&lt;/tt&gt; from &lt;tt&gt;/bin/bash&lt;/tt&gt; to be &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt;.     &lt;/p&gt;     &lt;dl&gt;&lt;dd&gt;          &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;     &lt;tbody&gt;     &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;     &lt;td&gt;     &lt;pre&gt;...&lt;br /&gt;user1:x:502:503::/home/user1:/opt/bin/ftponly&lt;br /&gt;...&lt;br /&gt;   &lt;/pre&gt;     &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;     &lt;/table&gt;     &lt;/dd&gt;&lt;/dl&gt;     &lt;p&gt;     Create file: &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt;.     &lt;br /&gt;    Protection set to &lt;tt&gt;-rwxr-xr-x    1 root     root       &lt;/tt&gt;    &lt;br /&gt;    with the command: &lt;tt&gt;chmod ugo+x /opt/bin/ftponly&lt;/tt&gt;    &lt;br /&gt;    Contents of file:     &lt;/p&gt;     &lt;dl&gt;&lt;dd&gt;     &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;     &lt;tbody&gt;     &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;     &lt;td&gt;     &lt;pre&gt;   #!/bin/sh&lt;br /&gt;#&lt;br /&gt;# ftponly shell&lt;br /&gt;#&lt;br /&gt;trap &quot;/bin/echo Sorry; exit 0&quot; 1 2 3 4 5 6 7 10 15&lt;br /&gt;#&lt;br /&gt;Admin=root@your-domain.com&lt;br /&gt;#System=`/bin/hostname`@`/bin/domainname`&lt;br /&gt;#&lt;br /&gt;/bin/echo&lt;br /&gt;/bin/echo &quot;********************************************************************&quot;&lt;br /&gt;/bin/echo &quot;    You are NOT allowed interactive access.&quot;&lt;br /&gt;/bin/echo&lt;br /&gt;/bin/echo &quot;     User accounts are restricted to ftp and web access.&quot;&lt;br /&gt;/bin/echo&lt;br /&gt;/bin/echo &quot;  Direct questions concerning this policy to $Admin.&quot;&lt;br /&gt;/bin/echo &quot;********************************************************************&quot;&lt;br /&gt;/bin/echo&lt;br /&gt;#&lt;br /&gt;# C&#39;ya&lt;br /&gt;#&lt;br /&gt;exit 0&lt;br /&gt;   &lt;/pre&gt;      &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;     &lt;/table&gt;      &lt;/dd&gt;&lt;/dl&gt;      &lt;p&gt;   The last step is to add this to the list of valid shells on the system.  &lt;br /&gt;   Add the line &lt;tt&gt;/opt/bin/ftponly&lt;/tt&gt; to &lt;tt&gt;/etc/shells&lt;/tt&gt;.   &lt;/p&gt;           &lt;p&gt;   Sample file contents: &lt;tt&gt;/etc/shells&lt;/tt&gt;     &lt;/p&gt;     &lt;dl&gt;&lt;dd&gt;     &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;     &lt;tbody&gt;     &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;     &lt;td&gt;     &lt;pre&gt;/bin/bash&lt;br /&gt;/bin/bash1&lt;br /&gt;/bin/tcsh&lt;br /&gt;/bin/csh&lt;br /&gt;/opt/bin/ftponly&lt;br /&gt;   &lt;/pre&gt;     &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;     &lt;/table&gt;      &lt;/dd&gt;&lt;/dl&gt;    See &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=shells&quot;&gt;man page on /etc/shells&lt;/a&gt;.           &lt;p&gt; An alternative would be to assign the shell &lt;tt&gt;/bin/false&lt;/tt&gt; or &lt;tt&gt;/sbin/nologin&lt;/tt&gt; which became  available in later releases of Red Hat, Debian and Ubuntu. In this case the shell &lt;tt&gt;/bin/false&lt;/tt&gt; or &lt;tt&gt;/sbin/nologin&lt;/tt&gt; would have to be added to &lt;tt&gt;/etc/shells&lt;/tt&gt; to allow them to be used as a valid shell for FTP while disabling ssh or telnet access.           &lt;/p&gt;           &lt;p&gt;           &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialQuotas.html&quot;&gt;Set file quotas to limit user account.&lt;/a&gt;         &lt;/li&gt;&lt;/ol&gt;        &lt;p&gt; For more on Linux security see the: &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInternetSecurity.html&quot;&gt;&lt;b&gt;YoLinux.com Internet web site Linux server security tutorial&lt;/b&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;a name=&quot;DNS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Domain Name Server (DNS) configuration using Bind version 8 or 9:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; Two of the most popular ways to configure the program Bind  (Berkeley Internet Domain software) to perform DNS  services is in the role of (1) ISP or (2) Web Host.        &lt;/p&gt;       &lt;ol&gt;&lt;li&gt;In an ISP configuration for clients (web surfers) conected to the internet, the DNS server must resolve IP addresses for any  URL the user wishes to visit. (See &lt;a href=&quot;http://www.yolinux.com/HOWTO/DNS-HOWTO.html#s3&quot;&gt;DNS caching server&lt;/a&gt;)         &lt;/li&gt;&lt;li&gt;In a purely web hosting configuration, Bind will only resolve for the IP addresses of the domains which are being hosted. This is the configuration which will be discussed and is often called an &quot;Authoritative-only Nameserver&quot;.         &lt;/li&gt;&lt;/ol&gt;        &lt;p&gt;When resolving IP addresses for a domain, Internic is expecting a &quot;Primary&quot; and a &quot;Secondary&quot; DNS name server. (Sometimes called Master and Slave) Each DNS name server requires the file /etc/named.conf and the files it points to. This is typically two separate computer systems hosted on two different IP addresses. It is not necesary that the Linux servers be dedicated to DNS as they may run a web server, mail server, etc. &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;Note on Bind versions:&lt;/b&gt; Red Hat versions 6.x used Bind version 8.  Release 7.1 of Red Hat began using Bind version 9 and the GUI configuration  tool &lt;tt&gt;bindconf&lt;/tt&gt; was introduced for those of you that like a pretty  point and click interface for configuration.       &lt;/p&gt;       &lt;p&gt; Installation Packages:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat / Fedora Core / CentOS: &lt;tt&gt;bind, bind-chroot, bind-libs, bind-utils, system-config-bind&lt;/tt&gt;             &lt;ul&gt;&lt;li&gt;bind-chroot: Security jail for operation of bind.&lt;/li&gt;&lt;li&gt;bind-utils: Utility commands like &lt;tt&gt;nslookup, host, dig&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;system-config-bind: GUI config tool &lt;tt&gt;system-config-bind&lt;/tt&gt; and related configuration files (&lt;tt&gt;/etc/security/console.apps/bindconf&lt;/tt&gt;).&lt;/li&gt;&lt;li&gt;caching-nameserver: We will not be covering this as it is not required for web hosting. This is used by internet providers so their clients can cache the DNS entries of the sites they are visiting.&lt;/li&gt;&lt;/ul&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian: &lt;tt&gt;bind9&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Configuration files:&lt;/h3&gt;       &lt;dl&gt;&lt;dd&gt;       &lt;b&gt;Red Hat / Fedora / CentOS:&lt;/b&gt;       &lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;       &lt;tbody&gt;       &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;&lt;th&gt;File&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Directory&lt;/th&gt;&lt;th&gt;Chrooted Directory&lt;/th&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named.conf&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;br /&gt;(See default file &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/etc/named.conf&lt;/tt&gt;)&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named.root.hints&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Configuration for recursive service. Required for all zones.&lt;br /&gt;(See default file &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/etc/named.root.hints&lt;/tt&gt;)&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Red Hat system variables.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/sysconfig/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;no change&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;rndc.key&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Zone files&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Configuration files for each domain. Create this file to resolve host name internet queries i.e. define IP address of web (www) and mail servers in the domain.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/named/chroot/var/named/&lt;/td&gt;&lt;/tr&gt;       &lt;/tbody&gt;       &lt;/table&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Debian / Ubuntu:&lt;/b&gt;       &lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;       &lt;tbody&gt;       &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;&lt;th&gt;File&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Directory&lt;/th&gt;&lt;th&gt;Chrooted Directory&lt;/th&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;named.conf&lt;br /&gt;named.conf.options&lt;br /&gt;named.conf.local&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/bind/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/chroot/etc/bind/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;rndc.key&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Primary/Secondary DNS server configuration.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/etc/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/chroot/etc/&lt;/td&gt;&lt;/tr&gt;       &lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Zone files&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Configuration files for each domain.&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/data/&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;/var/bind/chroot/var/bind/data/&lt;/td&gt;&lt;/tr&gt;       &lt;/tbody&gt;       &lt;/table&gt;       &lt;/dd&gt;&lt;/dl&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Primary server (master):&lt;/h3&gt;       &lt;b&gt;File: named.conf&lt;/b&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat / Fedora Core / CentOS: &lt;tt&gt;/etc/named.conf&lt;/tt&gt; (chroot dir: &lt;tt&gt;/var/named/chroot/etc/named.conf&lt;/tt&gt;) and &lt;tt&gt;/etc/sysconfig/named&lt;/tt&gt; for system variables.          &lt;br /&gt;Ubuntu / Debian: &lt;tt&gt;/etc/bind/named.conf&lt;/tt&gt; Place local definitions in &lt;tt&gt;/etc/bind/named.conf.options&lt;/tt&gt; and &lt;tt&gt;/etc/bind/named.conf.local&lt;/tt&gt;           &lt;p&gt;           &lt;/p&gt;           Simple example: (no views)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt;           &lt;pre&gt;options {                                     &lt;b&gt;&lt;i&gt;- Ubuntu stores options in /etc/bind/named.conf.options&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       version &quot;Bind&quot;;                       &lt;b&gt;&lt;i&gt;- Don&#39;t disclose real version to hackers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       directory &quot;/var/named&quot;;               &lt;b&gt;&lt;i&gt;- Specified so relative path names can be used. Full path names still allowed.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       allow-transfer { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };  &lt;b&gt;&lt;i&gt;- IP address of secondary DNS&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       auth-nxdomain no;                     &lt;b&gt;&lt;i&gt;- conform to RFC1035. (default)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       &lt;b&gt;&lt;span style=&quot;color:#008800;&quot;&gt;fetch-glue no;&lt;/span&gt;&lt;/b&gt;                  &lt;b&gt;&lt;i&gt;- &lt;span style=&quot;color:#ff0000;&quot;&gt;Bind 8 only!&lt;/span&gt; Not used by version 9&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;localhost&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.local&quot;;&lt;br /&gt;};&lt;br /&gt;zone &quot;0.0.127.in-addr.arpa&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.127&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;{                 &lt;b&gt;&lt;i&gt;- Ubuntu separates the zone definitions into /etc/bind/named.conf.local &lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       type master;                    &lt;b&gt;&lt;i&gt;- Specify master, slave, forward or hint&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       file &quot;data/named.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;;&lt;br /&gt;       notify yes;                     &lt;b&gt;&lt;i&gt;- slave servers are notified when the zone is updated.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       allow-update { none; };         &lt;b&gt;&lt;i&gt;- deny updates from other hosts (default: none)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       allow-query { any; };           &lt;b&gt;&lt;i&gt;- allow clients to query this server (default: any)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;{&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;data/named.&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;;&lt;br /&gt;       notify yes;&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Note: &lt;ul&gt;&lt;li&gt; The omission of &lt;tt&gt;zone &quot;.&quot;&lt;/tt&gt;. Required if providing a recursive service. &lt;/li&gt;&lt;li&gt; Ubuntu includes the separated file of zone directives using the directive:     &lt;br /&gt;&lt;tt&gt;include &quot;/etc/bind/named.conf.local&quot;;&lt;/tt&gt; &lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt; &lt;b&gt;BIND Views:&lt;/b&gt; The BIND naming service can support &quot;views&quot; which allow various sub-networks (i.e. private internal or public external networks) to have a different domain name resolution result. &lt;ul&gt;&lt;li&gt;If no views are specified then use the configuration shown above.  &lt;/li&gt;&lt;li&gt;The match-up between the &quot;view&quot; and the view client which receives the DNS information is specified by the &lt;tt&gt;match-clients&lt;/tt&gt; statement. &lt;/li&gt;&lt;li&gt;If even one view is specified, then ALL zones MUST be associated with a &quot;view&quot;. &lt;/li&gt;&lt;li&gt;Bind 9 allows for views which allow different zones to be served to different types of clients, localhost, private networks and public networks. This maps to the three view names &quot;&lt;tt&gt;localhost_resolver&lt;/tt&gt;&quot;, &quot;&lt;tt&gt;internal&lt;/tt&gt;&quot; and &quot;&lt;tt&gt;external&lt;/tt&gt;&quot;:     &lt;ul&gt;&lt;li&gt;localhost_resolver: Supports name resolution for the system (localhost) using BIND. Support for use of bind also has to be configured in &lt;tt&gt;/etc/nsswitch.conf&lt;/tt&gt;     &lt;/li&gt;&lt;li&gt;internal: User specified Local Area Network (LAN). If not used to support a local private LAN, remove (or comment out) this view. &lt;/li&gt;&lt;li&gt;external: The general public internet defined as client &quot;any&quot;.     &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;If you are only setting up a caching name server, then only specify the view &quot;localhost_resolver&quot; (delete all other views). &lt;/li&gt;&lt;li&gt;In order to support a DNS for internet domains using views, one will have to configure an &quot;external&quot; view &lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt;           Typical Red Hat Enterprise 5 example: (Bind 9.3.4 with three &quot;views&quot;)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt;           &lt;pre&gt;options&lt;br /&gt;{&lt;br /&gt;       directory &quot;/var/named&quot;; // the default&lt;br /&gt;       dump-file               &quot;data/cache_dump.db&quot;;&lt;br /&gt;       statistics-file         &quot;data/named_stats.txt&quot;;&lt;br /&gt;       memstatistics-file      &quot;data/named_mem_stats.txt&quot;;&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;logging&lt;br /&gt;{&lt;br /&gt;   //  By default, SELinux policy does not allow named to modify the /var/named&lt;br /&gt;   //  directory, so put the default debug log file in data/ :&lt;br /&gt;&lt;br /&gt;       channel default_debug {&lt;br /&gt;               file &quot;data/named.run&quot;;&lt;br /&gt;               severity dynamic;&lt;br /&gt;       };&lt;br /&gt;};&lt;br /&gt;view &quot;localhost_resolver&quot;&lt;br /&gt;{&lt;br /&gt;   //  This view sets up named to be a localhost resolver ( caching only nameserver ).&lt;br /&gt;   //  If all you want is a caching-only nameserver, then you need only define this view:&lt;br /&gt;   match-clients           { localhost; };&lt;br /&gt;   ...&lt;br /&gt;};&lt;br /&gt;view &quot;internal&quot;&lt;br /&gt;{&lt;br /&gt;   // This view will contain zones you want to serve only to &quot;internal&quot; clients&lt;br /&gt;   // that connect via your directly attached LAN interfaces - &quot;localnets&quot; .&lt;br /&gt;   // For local private LAN. Not covered in this tutorial.&lt;br /&gt;   // Delete this view if web hosting with no local LAN.&lt;br /&gt;   match-clients           { localnets; };&lt;br /&gt;   ...&lt;br /&gt;};&lt;br /&gt;key ddns_key&lt;br /&gt;{&lt;br /&gt;       algorithm hmac-md5;&lt;br /&gt;       secret &quot;&lt;i&gt;use /usr/sbin/dns-keygen to generate TSIG keys&lt;/i&gt;&quot;;&lt;br /&gt;};&lt;br /&gt;view    &quot;external&quot;&lt;br /&gt;{&lt;br /&gt;   // This view will contain zones you want to serve only to &quot;external&quot;&lt;br /&gt;   // public internet clients. This is covered below.&lt;br /&gt;   match-clients           { any; };&lt;br /&gt;   ...&lt;br /&gt;   ..&lt;br /&gt;};&lt;br /&gt;         &lt;/pre&gt;           &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;           &lt;/table&gt; &lt;p&gt; &lt;/p&gt;           &lt;b&gt;Default configuration files:&lt;/b&gt; Red Hat may supply the default configuration in: &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/etc/named.conf&lt;/tt&gt;           &lt;ul&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/etc/named.conf /var/named/chroot/etc&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/etc/named.root.hints /var/named/chroot/etc&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;chcon -u system_u -r object_r -t named_conf_t /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.root.hints&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt;           &lt;b&gt;view &quot;localhost_resolver&quot;&lt;/b&gt;: If supporting a caching DNS server (not required to support a web domain) you will also need the files:           &lt;ul&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/etc/named.rfc1912.zones /var/named/chroot/etc&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/localdomain.zones /var/named/chroot/var/named&lt;/tt&gt;          &lt;br /&gt;also from &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/var/named/&lt;/tt&gt;: &lt;tt&gt;localhost.zones, named.local, named.zero, named.broadcast, named.ip6.local, named.root&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;           &lt;p&gt;           &lt;/p&gt;           &lt;b&gt;view &quot;external&quot;&lt;/b&gt;:  (master) - details -           &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt; &lt;pre&gt;view    &quot;external&quot;&lt;br /&gt;{&lt;br /&gt;/* This view will contain zones you want to serve only to &quot;external&quot; clients&lt;br /&gt;* that have addresses that are not on your directly attached LAN interface subnets:&lt;br /&gt;*/&lt;br /&gt;       match-clients           { any; };&lt;br /&gt;       match-destinations      { any; };&lt;br /&gt;       allow-transfer { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };  &lt;b&gt;&lt;i&gt;- IP address of secondary DNS&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       // you&#39;d probably want to deny recursion to external clients, so you don&#39;t&lt;br /&gt;       // end up providing free DNS service to all takers&lt;br /&gt;&lt;br /&gt;       // all views must contain the root hints zone:&lt;br /&gt;       include &quot;/etc/named.root.hints&quot;;&lt;br /&gt;&lt;br /&gt;       // These are your &quot;authoritative&quot; external zones, and would probably&lt;br /&gt;       // contain entries for just your web and mail servers:&lt;br /&gt;&lt;br /&gt;       zone &quot;your-domain.com&quot; {&lt;br /&gt;               type master;&lt;br /&gt;               file &quot;/var/named/data/external/named.your-domain.com&quot;;&lt;br /&gt;               notify yes;&lt;br /&gt;               allow-update { none; };&lt;br /&gt;       };&lt;br /&gt;&lt;br /&gt;       &lt;b&gt;&lt;i&gt;// You can also add the zones as a separate file like they do in Ubuntu by adding the following statement&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       include &quot;/etc/named.conf.local&quot;;     &lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;           &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;           &lt;/table&gt;           &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;b&gt;DNS key:&lt;/b&gt; &lt;/p&gt; Use the following command &lt;tt&gt;/usr/sbin/dns-keygen&lt;/tt&gt; to create a key. Add this key to the &quot;secret&quot; statement as follows: &lt;dl&gt;&lt;dd&gt; &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt; &lt;tbody&gt; &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt; &lt;td&gt; &lt;pre&gt;key ddns_key&lt;br /&gt;{&lt;br /&gt;       algorithm hmac-md5;&lt;br /&gt;       secret &quot;XlYKYLF5Y7YOYFFFY6YiYYXyFFFFBYYYYFfYYYJiYFYFYYLVrnrWrrrqrrrq&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;/p&gt; Man Pages: &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=named.conf&quot;&gt;named.conf&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;!-- End of named.conf discussion --&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;b&gt;Forward Zone File: /var/named/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt; &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat 9 / CentOS 3: &lt;tt&gt;/var/named/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt;Red Hat EL4/5, Fedora 3+, CentOS 4/5: [Chrooted] &lt;tt&gt;/var/named/chroot/var/named/data/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt;Red Hat EL4/5, Fedora 3+, CentOS 4/5: &lt;tt&gt;/var/named/data/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;          &lt;br /&gt;Ubuntu / Debian: &lt;tt&gt;/etc/bind/data/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;&lt;b&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;$TTL 604800&lt;/span&gt;&lt;/b&gt;         &lt;b&gt;&lt;i&gt;- Bind 9 (and some of the later versions of Bind 8) requires $TTL statement&lt;/i&gt;. Measured in seconds. This value is 7 days.&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.    IN      SOA  ns1.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.  hostmaster.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;. (&lt;br /&gt;  2000021600 ; serial     &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Many people use year+month+day+integer as a system. Never greater than 2147483647 for a 32 bit processor.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  86400 ; refresh         &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- How often secondary servers (in seconds) should check in for changes in serial number. (86400 sec = 24 hrs)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  7200 ; retry            &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- How long secondary server should wait for a retry if contact failed.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  1209600 ; expire        &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Secondary server to purge info after this length of time.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;  86400 ) ; default_ttl   &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- How long data is held in cache by remote servers.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;      IN A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;  &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Note that this is the default IP address of the domain.&lt;br /&gt;                                    I put the web server IP address here so that domain.com points to the same servers as www.domain.com&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;;&lt;br /&gt;; Name servers for the domain&lt;br /&gt;;&lt;br /&gt;      IN NS         ns1.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;      IN NS         ns2.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;;&lt;br /&gt;; Mail server for domain&lt;br /&gt;;&lt;br /&gt;      IN MX    5    mail               &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Identify &quot;mail&quot; as the node handling mail for the domain. Do &lt;b&gt;NOT&lt;/b&gt; specify an IP address!&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;;&lt;br /&gt;; Nodes in domain&lt;br /&gt;;&lt;br /&gt;node1  IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Note that this is the IP address of node1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;ns1    IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Optional: For hosting your own primary name server. Note that this is the IP address of ns1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;ns2    IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Optional: For hosting your own secondary name server. Note that this is the IP address of ns2&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;mail   IN A          &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Identify the IP address for node mail.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;      IN MX    5    &lt;b&gt;&lt;i&gt;XXX.XXX.XXX.XXX&lt;/i&gt;&lt;/b&gt;    &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Identify the IP address for mail server named &quot;mail&quot;.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;;&lt;br /&gt;; Aliases to existing nodes in domain&lt;br /&gt;;&lt;br /&gt;www    IN CNAME      node1              &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Define the webserver &quot;www&quot; to be node1.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;ftp    IN CNAME      node1              &lt;i&gt;&lt;span style=&quot;color:#006600;&quot;&gt;- Define the ftp server to be node1.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;        &lt;p&gt; MX records for 3rd party off-site mail servers:       &lt;/p&gt;       &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;       &lt;tbody&gt;       &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;       &lt;td&gt;       &lt;pre&gt;&lt;i&gt;&lt;b&gt;your-domain.com.&lt;/b&gt;&lt;/i&gt;    IN MX  10 &lt;i&gt;mail1.offsitemail.com.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;your-domain.com.&lt;/b&gt;&lt;/i&gt;    IN MX  20 &lt;i&gt;mail2.offsitemail.com.&lt;/i&gt;&lt;br /&gt;     &lt;/pre&gt;       &lt;/td&gt;       &lt;/tr&gt;       &lt;/tbody&gt;       &lt;/table&gt; Append to the above file.       &lt;/dd&gt;&lt;/dl&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Initial configuration:&lt;/b&gt;           Note that Red Hat may supply the default zone configuration in: &lt;tt&gt;/usr/share/doc/bind-9.X.X/sample/var/named/&lt;/tt&gt;           &lt;ul&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/localhost.zone /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/localdomain.zone /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.broadcast /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.ip6.local /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.zero /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.local /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cp /usr/share/doc/bind-9.X.X/sample/var/named/named.root /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;cd  /var/named/chroot/var/named/data/&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;chcon -u system_u -r object_r -t named_cache_t localhost.zone localdomain.zone named.broadcast named.ip6.local named.zero named.root named.local&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;           A file suffix of &quot;zone&quot; is also common i.e. &lt;tt&gt;your-domain.com.zone&lt;/tt&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Secondary server (slave):&lt;/h3&gt;         &lt;b&gt;File: named.conf&lt;/b&gt;       &lt;dl&gt;&lt;dd&gt; Red Hat / Fedora Core / CentOS: &lt;tt&gt;/etc/named.conf&lt;/tt&gt;          &lt;br /&gt;Ubuntu / Debian: &lt;tt&gt;/etc/bind/named.conf&lt;/tt&gt;          &lt;br /&gt;Simple example with no views:           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;options {                               &lt;b&gt;&lt;i&gt;- Ubuntu stores options in /etc/bind/named.conf.options&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       version &quot;Bind&quot;;                 &lt;b&gt;&lt;i&gt;- Don&#39;t disclose real version to hackers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       directory &quot;/var/named&quot;;&lt;br /&gt;       &lt;b&gt;allow-transfer { none; };&lt;/b&gt;       &lt;b&gt;&lt;i&gt;- Slave is not transfering updates to anyone else&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       auth-nxdomain no;               &lt;b&gt;&lt;i&gt;- conform to RFC1035. (default)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       &lt;b&gt;&lt;span style=&quot;color:#008800;&quot;&gt;fetch-glue no;&lt;/span&gt;&lt;/b&gt;                  &lt;b&gt;&lt;i&gt;- &lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;b&gt;Bind 8 only!&lt;/b&gt;&lt;/span&gt; Not used by version 9&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;localhost&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.local&quot;;       &lt;b&gt;&lt;i&gt;- Ubutu: /etc/bind/db.local, Red Hat: /var/named/named.local&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;0.0.127.in-addr.arpa&quot; {&lt;br /&gt;       type master;&lt;br /&gt;       file &quot;/etc/bind/db.127&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;{&lt;br /&gt;       type slave;         &lt;br /&gt;       file &quot;named.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&quot;;   &lt;i&gt;- Specify &lt;b&gt;slaves/named.your-domain.com&lt;/b&gt; for RHEL4/5 chrooted bind&lt;/i&gt;&lt;br /&gt;       masters { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };   &lt;b&gt;&lt;i&gt;- IP address of primary DNS&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;zone &quot;&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;{&lt;br /&gt;       type slave;         &lt;br /&gt;       file &quot;named.&lt;i&gt;&lt;b&gt;your-domain-2.com&lt;/b&gt;&lt;/i&gt;&quot;;&lt;br /&gt;       masters { &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;&lt;/i&gt;; };&lt;br /&gt;};&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;           &lt;p&gt;           &lt;/p&gt;           view &quot;external&quot;: (slave)           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;           &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;           &lt;td&gt; &lt;pre&gt;view    &quot;external&quot;&lt;br /&gt;{&lt;br /&gt;       match-clients           { any; };&lt;br /&gt;       match-destinations      { any; };&lt;br /&gt;       allow-transfer { &lt;i&gt;&lt;b&gt;none&lt;/b&gt;&lt;/i&gt;; };  &lt;b&gt;&lt;i&gt;- Slave does not transfer to anyone, slave receives&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       recursion no;&lt;br /&gt;       include &quot;/etc/named.root.hints&quot;;&lt;br /&gt;&lt;br /&gt;       zone &quot;your-domain.com&quot; {&lt;br /&gt;               type slave;&lt;br /&gt;               file &quot;/var/named/slaves/external/named.your-domain.com&quot;;&lt;br /&gt;               notify no;                  &lt;b&gt;&lt;i&gt;- Slave does not notify, slave is notified by master&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;               masters { &lt;b&gt;XXX.XXX.XXX.XXX&lt;/b&gt;; }; &lt;b&gt;&lt;i&gt;- State IP of master server&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       };&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;           &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;           &lt;/table&gt; Note: RHEL4/5, CentOS 4/5, Fedora 3+ use chrooted directory structure permissions which require the use of the slaves subdirectory &lt;tt&gt;/var/named/slaves&lt;/tt&gt;           &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Slave Zone Files:&lt;/b&gt; These are transfered from master to slave and chached by slave. There is no need to generate a zone file on the slave.        &lt;p&gt;       &lt;/p&gt;       &lt;b&gt;Additional Information:&lt;/b&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=named.conf&quot;&gt;Man page on named.conf&lt;/a&gt;       &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=named%288%29&quot;&gt;Man page on named DNS server&lt;/a&gt;       &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.zytrax.com/books/dns/&quot;&gt;Full DNS manual&lt;/a&gt;       &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Ubuntu dapper/hardy - Path names used can not violate Apparmor security rules as defined in &lt;tt&gt;/etc/apparmor.d/usr.sbin.named&lt;/tt&gt;. Note that the slave files are typically named &quot;&lt;tt&gt;/var/lib/bind/named.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;&lt;/tt&gt;&quot; as permitted by the security configuration.       &lt;/p&gt;       &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Ubuntu dapper/hardy - Create log file and set ownership and permission for file not created by installation:        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;touch /var/log/bindlog&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chown root.bind /var/log/bindlog&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chmod 664 /var/log/bindlog&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;span style=&quot;color:#ff0000;&quot;&gt;[Potential Pitfall]&lt;/span&gt;: Error in &lt;tt&gt;/var/log/messages&lt;/tt&gt;:       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;tt&gt; transfer of &#39;yolinux.com/IN&#39; from XXX.XXX.XXX.XXX#53: failed while receiving responses: permission denied                 &lt;/tt&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt; Named needs write permission on the directory containing the file. This condition often occurs for a new &quot;slave&quot; or &quot;secondary&quot; name server where the zone files do not yet exist.&lt;br /&gt; The default (RHEL4/5, CentOS 4/5, Fedora Core 3+, ...):            &lt;ul&gt;&lt;li&gt;&lt;tt&gt;drwxr-x---  4 root  named 4096 Aug 25  2004 named&lt;/tt&gt;             &lt;/li&gt;&lt;li&gt;&lt;tt&gt;drwxrwx---  2 named named 4096 Sep 17 20:37 slaves&lt;/tt&gt;             &lt;/li&gt;&lt;/ul&gt;           &lt;br /&gt;Fix: In &lt;tt&gt;named.conf&lt;/tt&gt; specify that the slaves to go to slaves directory &lt;tt&gt;/var/named/chroot/var/named/slaves&lt;/tt&gt; with the directive:           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;tt&gt;file &quot;slaves/named.your-domain.com&quot;;&lt;/tt&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Bind Defaults:        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Uses port 53 if none is specified with the &lt;tt&gt;listen-on port&lt;/tt&gt; statement.         &lt;/li&gt;&lt;li&gt;Bind will use random ports above port 1024 for queries. For use with firewalls expecting all DNS traffic on port 53, specify the following &lt;tt&gt;option&lt;/tt&gt; statement in &lt;tt&gt;/etc/named.conf&lt;/tt&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;query-source address * port 53;&lt;br /&gt;query-source-v6 port 53;&lt;br /&gt;               &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/li&gt;&lt;li&gt;Logging is to &lt;tt&gt;/var/log/messages&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; After the configuration files have been edited, restart the name daemon.       &lt;/p&gt;&lt;dl&gt;&lt;dd&gt;       &lt;tt&gt;/etc/init.d/named restart&lt;/tt&gt;       &lt;/dd&gt;&lt;/dl&gt; (Note: Ubuntu / Debian restart: &lt;tt&gt;/etc/init.d/bind9 restart&lt;/tt&gt;)              &lt;p&gt; Bind zone transfers work best if the clocks of the two systems are synchronised. See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialSysAdmin.html#TIME&quot;&gt;YoLinux SysAdmin Tutorial: Time and ntpd&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;b&gt;File: /var/named/named.&lt;i&gt;your-domain.com&lt;/i&gt;&lt;/b&gt; This is created for you by Bind on the slave (secondary) server when it replicates from Primary server.       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;b&gt;DNS GUI configuration:&lt;/b&gt;       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat EL 4/5, Fedora 2-10: &lt;tt&gt;/usr/bin/system-config-bind&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Red Hat 8/9, Fedora Core 1: &lt;tt&gt;/usr/bin/redhat-config-bind&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;img src=&quot;http://www.yolinux.com/TUTORIALS/images/system-config-bind.gif&quot; alt=&quot;Red Hat bind configuration tool&quot; /&gt;           &lt;img src=&quot;http://www.yolinux.com/TUTORIALS/images/system-config-bind-SOAZone.gif&quot; alt=&quot;Red Hat bind configuration tool: SOA zone&quot; /&gt;         &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;a name=&quot;DNSTEST&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;h3&gt;Test DNS:&lt;/h3&gt;        &lt;p&gt; Must install packages:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Red Hat / Fedora Core / SuSE: &lt;tt&gt;bind-utils&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;Ubuntu (dapper/hardy) / Debian: &lt;tt&gt;bind9-host&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt;        &lt;dl&gt;&lt;dd&gt; Test the name server with the            &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=host&quot;&gt;host&lt;/a&gt;  command in interactive mode:            &lt;pre&gt;   host  &lt;i&gt;node.domain-to-test.com&lt;/i&gt; &lt;i&gt;&lt;b&gt;your-nameserver-to-test.domain.com&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;            &lt;dl&gt;&lt;dd&gt; Note: The name server may also be specified by IP address.             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; or           &lt;/p&gt;           &lt;p&gt; Test the name server with the            &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=nslookup&quot;&gt;nslookup&lt;/a&gt;  command in interactive mode:            &lt;/p&gt;           &lt;pre&gt;   nslookup&lt;br /&gt;  &gt; server &lt;i&gt;&lt;b&gt;your-nameserver-to-test.domain.com&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;  &gt; &lt;i&gt;node.domain-to-test.com&lt;/i&gt;&lt;br /&gt;  &gt; exit&lt;br /&gt;         &lt;/pre&gt;            &lt;p&gt; Test the MX record if appropriate:           &lt;/p&gt;           &lt;pre&gt;   nslookup -querytype=mx &lt;i&gt;domain-to-test.com&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;  &lt;b&gt;OR&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  host -t mx &lt;i&gt;domain-to-test.com&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;            &lt;p&gt; Test using the &lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=dig&quot;&gt;dig&lt;/a&gt; command:           &lt;/p&gt;           &lt;pre&gt;   dig @&lt;i&gt;name-server&lt;/i&gt; &lt;i&gt;domain-to-query&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;  &lt;b&gt;OR&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;  dig @&lt;i&gt;IP-address-of-name-server&lt;/i&gt; &lt;i&gt;domain-to-query&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Test your DNS with the following DNS diagnostics web site: &lt;a href=&quot;http://dnsstuff.com/&quot;&gt;DnsStuff.com&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Extra logging to monitor Bind:&lt;/h3&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Add the following to your &lt;tt&gt;/etc/named.conf&lt;/tt&gt; file.           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;logging {&lt;br /&gt;       channel bindlog {&lt;br /&gt;                          file &quot;/var/log/bindlog&quot;  versions 5 size 1m;    &lt;b&gt;&lt;i&gt; - Keep five old versions of the log-file (rotates logs)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;                          print-time yes;&lt;br /&gt;                          print-category yes;&lt;br /&gt;                          print-severity yes;&lt;br /&gt;                       };&lt;br /&gt;/*      If you want to enable debugging, eg. using the &#39;rndc trace&#39; command,&lt;br /&gt;*      named will try to write the &#39;named.run&#39; file in the $directory (/var/named).&lt;br /&gt;*      By default, SELinux policy does not allow named to modify the /var/named directory,&lt;br /&gt;*      so put the default debug log file in data/ :&lt;br /&gt;*/&lt;br /&gt;       channel default_debug {&lt;br /&gt;               file &quot;data/named.run&quot;;&lt;br /&gt;               severity dynamic;&lt;br /&gt;       };&lt;br /&gt;       category xfer-out { bindlog; };         &lt;b&gt;&lt;i&gt;- Zone transfers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category xfer-in  { bindlog; };         &lt;b&gt;&lt;i&gt;- Zone transfers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category security { bindlog; };         &lt;b&gt;&lt;i&gt;- Approved/unapproved requests&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;//      &lt;b&gt;The following logging statements, panic, insist and response-checks are valid for Bind 8 only. Do not user for version 9.&lt;/b&gt;&lt;br /&gt;       category panic { bindlog; };            &lt;b&gt;&lt;i&gt;- System shutdowns&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category insist { bindlog; };           &lt;b&gt;&lt;i&gt;- Internal consistency check failures&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;       category response-checks { bindlog; };  &lt;b&gt;&lt;i&gt;- Messages&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;               &lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Chroot Bind for extra security:&lt;/h3&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt; Note: Most modern Linux distributions default to a &quot;chrooted&quot; installation. This technique runs the Bind name service with a view of the filesystem which changes the definition of the root directory &quot;/&quot; to a directory in which Bind will operate. i.e. &lt;tt&gt;/var/named/chroot&lt;/tt&gt;.           &lt;p&gt; The following example uses the Red Hat RPM &lt;tt&gt;bind-8.2.3-0.6.x.i386.rpm&lt;/tt&gt;. Applies to Bind version 9 as well.           &lt;/p&gt;           &lt;p&gt; The latest RedHat bind updates run the named as user &quot;named&quot; to avoid a lot of earlier hacker exploits. To chroot the process is to create an even more secure environment by limiting the view of the system that the process can access. The process is limited to the chrooted directory assigned.           &lt;/p&gt;           &lt;p&gt; The chroot of the named process to a directory under a given user will prevent the possibility of an exploit which at one time would  result in  root access. The original default RedHat configuration (6.2) ran the named process as root,  thus if an exploit was found, the named process will allow the hacker to use  the privileges of the root user. (no longer true)           &lt;/p&gt;           &lt;p&gt; Named Command Sytax:           &lt;/p&gt;           &lt;pre&gt;   named -u &lt;i&gt;user&lt;/i&gt; -g &lt;i&gt;group&lt;/i&gt; -t &lt;i&gt;directory-to-chroot-to&lt;/i&gt;&lt;br /&gt;         &lt;/pre&gt;  Example:           &lt;pre&gt;    named -u named -g named -t /opt/named&lt;br /&gt;&lt;/pre&gt;            &lt;p&gt;When chrooted, the process does not have access to system libraries thus a local lib directory is required with the appropriate library files - theoretically. This does not seem to be the case here and as noted above in chrooted FTP. It&#39;s a mystery to me but it works???? Another method to handle libraries is to re-compile the named binary with everything statically linked. Add &lt;tt&gt;-static&lt;/tt&gt; to the compile options. The chrooted process should also require a local &lt;tt&gt;/etc/named.conf&lt;/tt&gt; etc... but doesn&#39;t seem to???           &lt;/p&gt;           &lt;p&gt; Script to create a chrooted bind environment:           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;span style=&quot;font-size:-1;&quot;&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;cd /opt&lt;br /&gt;mkdir named&lt;br /&gt;cd named&lt;br /&gt;mkdir etc&lt;br /&gt;mkdir bin&lt;br /&gt;mkdir var&lt;br /&gt;cd var&lt;br /&gt;mkdir named&lt;br /&gt;mkdir run&lt;br /&gt;cd ..&lt;br /&gt;chown -R named.named bin etc var&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;  You can probably stop here. If your system acts like a chrooted system should, then continue with the following:           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;                     &lt;pre&gt;&lt;span style=&quot;font-size:-1;&quot;&gt;&lt;br /&gt;cp -p /etc/named.conf etc&lt;br /&gt;cp -p /etc/localtime  etc&lt;br /&gt;cp -p /bin/false bin&lt;br /&gt;echo &quot;named:x:25:25:Named:/var/named:/bin/false&quot; &gt; etc/passwd&lt;br /&gt;echo &quot;named:x:25:&quot; &gt; etc/group&lt;br /&gt;touch  var/run/named.pid&lt;br /&gt;&lt;br /&gt;if [ -f /etc/namedb ]&lt;br /&gt;then&lt;br /&gt;  cp -p /etc/namedb etc/namedb&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;mkdir dev&lt;br /&gt;cd dev&lt;br /&gt;&lt;br /&gt;# Create a character unbuffered file.&lt;br /&gt;mknod -m ugo+rw null c 1 3    &lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;chown -R named.named bin etc var&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;                   &lt;/pre&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;              &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Add changes to the init script: &lt;tt&gt;/etc/rc.d/init.d/named&lt;/tt&gt;           &lt;/p&gt;           &lt;dl&gt;&lt;dd&gt;               &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;                 &lt;tbody&gt;                   &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                     &lt;td&gt;&lt;small&gt;                     &lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# named           This shell script takes care of starting and stopping&lt;br /&gt;#                 named (BIND DNS server).&lt;br /&gt;#&lt;br /&gt;# chkconfig: - 55 45&lt;br /&gt;# description: named (BIND) is a Domain Name Server (DNS) \&lt;br /&gt;# that is used to resolve host names to IP addresses.&lt;br /&gt;# probe: true&lt;br /&gt;&lt;br /&gt;# Source function library.&lt;br /&gt;. /etc/rc.d/init.d/functions&lt;br /&gt;&lt;br /&gt;# Source networking configuration.&lt;br /&gt;. /etc/sysconfig/network&lt;br /&gt;&lt;br /&gt;# Check that networking is up.&lt;br /&gt;[ ${NETWORKING} = &quot;no&quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;&lt;br /&gt;[ -f /etc/sysconfig/named ] &amp;amp;&amp;amp; . /etc/sysconfig/named  &lt;b&gt;&lt;i&gt;- Added in Red Hat version 7.1&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[ -f /usr/sbin/named ] || exit 0&lt;br /&gt;&lt;br /&gt;[ -f /etc/named.conf ] || exit 0&lt;br /&gt;&lt;br /&gt;RETVAL=0&lt;br /&gt;&lt;br /&gt;start() {&lt;br /&gt;       # Start daemons.&lt;br /&gt;       echo -n &quot;Starting named: &quot;&lt;br /&gt;       daemon named -u named -g named -t /opt/named   &lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size:+1;&quot;&gt;- Change made here&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;	RETVAL=$?&lt;br /&gt;	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/named&lt;br /&gt;	echo&lt;br /&gt;	return $RETVAL&lt;br /&gt;}&lt;br /&gt;stop() {&lt;br /&gt;       # Stop daemons.&lt;br /&gt;       echo -n &quot;Shutting down named: &quot;&lt;br /&gt;       killproc named&lt;br /&gt;	RETVAL=$?&lt;br /&gt;	[ $RETVAL -eq 0 ] &amp;amp;&amp;amp; rm -f /var/lock/subsys/named&lt;br /&gt;       echo&lt;br /&gt;	return $RETVAL&lt;br /&gt;}&lt;br /&gt;rhstatus() {&lt;br /&gt;	/usr/sbin/ndc status&lt;br /&gt;	return $?&lt;br /&gt;}	&lt;br /&gt;restart() {&lt;br /&gt;	stop&lt;br /&gt;	start&lt;br /&gt;}	&lt;br /&gt;reload() {&lt;br /&gt;	/usr/sbin/ndc reload&lt;br /&gt;	return $?&lt;br /&gt;}&lt;br /&gt;probe() {&lt;br /&gt;	# named knows how to reload intelligently; we don&#39;t want linuxconf&lt;br /&gt;	# to offer to restart every time&lt;br /&gt;	/usr/sbin/ndc reload &gt;/dev/null 2&gt;&amp;amp;1 || echo start&lt;br /&gt;	return $?&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;# See how we were called.&lt;br /&gt;case &quot;$1&quot; in&lt;br /&gt;	start)&lt;br /&gt;		start&lt;br /&gt;		;;&lt;br /&gt;	stop)&lt;br /&gt;		stop&lt;br /&gt;		;;&lt;br /&gt;	status)&lt;br /&gt;		rhstatus&lt;br /&gt;		;;&lt;br /&gt;	restart)&lt;br /&gt;		restart&lt;br /&gt;		;;&lt;br /&gt;	condrestart)&lt;br /&gt;		[ -f /var/lock/subsys/named ] &amp;amp;&amp;amp; restart || :&lt;br /&gt;		;;&lt;br /&gt;	reload)&lt;br /&gt;		reload&lt;br /&gt;		;;&lt;br /&gt;	probe)&lt;br /&gt;		probe&lt;br /&gt;		;;&lt;br /&gt;	*)&lt;br /&gt;       	echo &quot;Usage: named {start|stop|status|restart|condrestart|reload|probe}&quot;&lt;br /&gt;		exit 1&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;exit $?&lt;br /&gt;&lt;br /&gt;                   &lt;/pre&gt;                     &lt;/small&gt;                      &lt;/td&gt;                   &lt;/tr&gt;                 &lt;/tbody&gt;               &lt;/table&gt;             &lt;/dd&gt;&lt;/dl&gt;            &lt;p&gt; Note: The current version of bind from the RedHat errata updates and security fixes (&lt;a href=&quot;http://www.redhat.com/support/errata/&quot;&gt;http://www.redhat.com/support/errata/&lt;/a&gt;) runs the named process as user &quot;named&quot; in the home (not chrooted) directory           &lt;tt&gt;/var/named&lt;/tt&gt; with no shell available. (&lt;tt&gt;named -u named&lt;/tt&gt;) This should be secure enough. Proceed with a chrooted installation if your are paranoid.           &lt;/p&gt;           &lt;p&gt; See:           &lt;/p&gt;           &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.psionic.com/papers/dns&quot;&gt;Securing DNS: How to use chroot bind features&lt;/a&gt;             &lt;/li&gt;&lt;/ul&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;b&gt;Chrooted DNS configuration:&lt;/b&gt;       &lt;/p&gt;       &lt;p&gt; Modern releases of Linux (i.e. Fedore Core 3, Red Hat Enterprise Linux 4) come preconfigured to use &quot;chrooted&quot; bind. This security feature forces even an exploited version of bind to only operate within the &quot;chrooted&quot; jail       &lt;tt&gt;/var/named/chroot&lt;/tt&gt;  which contains the familiar directories:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;/var/named/chroot/etc&lt;/tt&gt;: Configuration files         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/var/named/chroot/dev&lt;/tt&gt;: devices used by bind:                &lt;ul&gt;&lt;li&gt; &lt;tt&gt;/dev/null&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt; &lt;tt&gt;/dev/random&lt;/tt&gt;           &lt;/li&gt;&lt;li&gt; &lt;tt&gt;/dev/zero&lt;/tt&gt;           &lt;/li&gt;&lt;/ul&gt;      (Real devices created with the mknod command.)                  &lt;/li&gt;&lt;li&gt;&lt;tt&gt;/var/named/chroot/var&lt;/tt&gt;: Zone files and configuration information.         &lt;/li&gt;&lt;/ul&gt;  These directories are generated and configured by the Red Hat/Fedora RPM package &quot;bind-chroot&quot;.       &lt;p&gt; If building from source you will have to generate this configuration manually:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir /var/named/chroot/dev&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mknod /var/named/chroot/dev/null c 1 3&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mknod /var/named/chroot/dev/zero c 1 5&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mknod /var/named/chroot/dev/random c 1 8&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chmod 666 -R /var/named/chroot/dev&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/etc&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /var/named/chroot/etc/named.conf /etc/named.conf&lt;/tt&gt;          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/named&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /var/named/chroot/var/named/named.XXXX /var/named/named.XXXX &lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;ln -s /var/named/chroot/var/named/named.YYYY /var/named/named.YYYY &lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;...         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/named/slaves&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/named/data&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/run&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;mkdir -p /var/named/chroot/var/tmp&lt;/tt&gt;          &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chown -R named:named /var/named/chroot&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;tt&gt;chown -R root:named /var/named/chroot/var/named&lt;/tt&gt;         &lt;/li&gt;&lt;/ul&gt; &lt;a name=&quot;DNSRoundRobin&quot;&gt;&lt;/a&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;h3&gt;Load Balancing of servers using Bind: DNS Round-Robin&lt;/h3&gt;  This will populate name servers around the world with different IP addresses for your web server www.&lt;i&gt;your-domain&lt;/i&gt;.com       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;            www0   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www1   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.2&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www2   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.3&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www3   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.4&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www4   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.5&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;           www5   IN  A       &lt;i&gt;&lt;b&gt;XXX.XXX.XXX.6&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;           www    IN  CNAME   www0.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www1.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www2.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www3.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www4.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www5.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;                  IN  CNAME   www6.&lt;i&gt;&lt;b&gt;your-domain.com&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; Also see lbnamed: &lt;a href=&quot;http://www.stanford.edu/%7Eschemers/docs/lbnamed/lbnamed.html&quot;&gt;lbnamed load balancing named&lt;/a&gt;       &lt;/p&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr /&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;h3&gt;Bind/DNS Links:&lt;/h3&gt;        &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.isc.org/&quot;&gt;Internet Software Consortium (ISC) Home Page&lt;/a&gt; - &lt;a href=&quot;http://www.isc.org/products/BIND/&quot;&gt;ISC Bind Home&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.isc.org/index.pl?/sw/bind/FAQ.php&quot;&gt;Bind FAQ, pitfalls and answers&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.zytrax.com/books/dns/&quot;&gt;Zytrax Bind 9 manual&lt;/a&gt; - Bind for rocket scientists         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.intac.com/%7Ecdp/cptd-faq/&quot;&gt;comp.protocols.tcp-ip.domains FAQ&lt;/a&gt; - HTML version         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.apache.org/docs/misc/rewriteguide.html&quot;&gt;More on load balancing and round robin schemes&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.yolinux.com/HOWTO/DNS-HOWTO.html&quot;&gt;LDP DNS-HOWTO&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.acmebw.com/askmrdns/&quot;&gt;ACME: DNS resources&lt;/a&gt;          &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.acmebw.com/papers/securing.pdf&quot;&gt;DNS Security presentation&lt;/a&gt; - Cricket Liu (coauthor of DNS and Bind)         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.psionic.com/papers/dns/&quot;&gt;DNS Security Paper&lt;/a&gt; - Craig Rowland         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://soa.granitecanyon.com/&quot;&gt;GraniteCanyon.com: Free DNS hosting&lt;/a&gt; - If you don&#39;t want to set it up, have someone do it for you.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.everydns.net/&quot;&gt;EveryDNS.net&lt;/a&gt; - Free DNS         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dns2go.deerfield.com/&quot;&gt;DNS2GO&lt;/a&gt; - Domain hosting for DHCP clients.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.secondary.com/&quot;&gt;Secondary.com&lt;/a&gt; - Free secondary names server hosting (five or fewer domains)         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.tzo.com/&quot;&gt;TZO.com&lt;/a&gt; - Dynamic, secondary DNS services.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.ultradns.com/order/&quot;&gt;UltraDNS.com&lt;/a&gt; - Outsourced DNS management and service         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.opendns.com/&quot;&gt;OpenDNS.com&lt;/a&gt; - Can allow forwarding to OpenDNS servers.             &lt;br /&gt;Add to &quot;options&quot; section: &lt;tt&gt;forwarders { 208.67.222.222; 208.67.222.220; };&lt;/tt&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dyndns.org/&quot;&gt;DynDNS.org&lt;/a&gt;    &lt;br /&gt;Command: &lt;tt&gt;ipcheck.py -i eth0 &lt;i&gt;DynDNS-user-id&lt;/i&gt; &lt;i&gt;password&lt;/i&gt; &lt;i&gt;node&lt;/i&gt;.dnsalias.net&lt;/tt&gt;    &lt;br /&gt;Then add script &lt;tt&gt;update.dyndns.ip&lt;/tt&gt; to directory &lt;tt&gt;/etc/cron.daily/&lt;/tt&gt; to update IP.    &lt;br /&gt;This host must also be allowed access through any firewall rules.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ahv.cx/&quot;&gt;DynDNS/TODD&lt;/a&gt; - Dynamic DNS for those with dynamic IP addresses. (i.e. dial-up game servers etc.)         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;/p&gt;       &lt;h4&gt;Domain name registration:&lt;/h4&gt;        &lt;ul&gt;&lt;li&gt;Domain Name Registrars:           &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.networksolutions.com/&quot;&gt;NetworkSolutions.com&lt;/a&gt;             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.register.com/&quot;&gt;Register.com&lt;/a&gt;             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://registrar.godaddy.com/&quot;&gt;Registrar.GoDaddy.com&lt;/a&gt; - Domain name registration for only $8.95/year!!!             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.dotster.com/home/&quot;&gt;Dotster.com&lt;/a&gt; - Domain name registration for only $14.95/year             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.domainsnext.com/&quot;&gt;DomainsNext.com&lt;/a&gt; - $11.95/year             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.easydns.com/&quot;&gt;EasyDNS.com&lt;/a&gt; - $25.00/year             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.aplus.net/services/register-domain.html&quot;&gt;Aplus.net&lt;/a&gt; - Domain Registration $7.95/year - Not good             &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.gandi.net/&quot;&gt;Gandi.net&lt;/a&gt; - European             &lt;/li&gt;&lt;/ul&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.afternic.com/&quot;&gt;AfterNic.com&lt;/a&gt; - Domain name exchange and auction.         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.buydomains.com/&quot;&gt;BuyDomains.com&lt;/a&gt; - Buy a domain name that a squatter is holding.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Note that the Name registrations policies for the registrars are stated at &lt;a href=&quot;http://www.icann.org/&quot;&gt;ICANN.org&lt;/a&gt;.        &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;You must renew with the same registrar within five days BEFORE the expiration date.  There is no rule for afterwards.         &lt;/li&gt;&lt;li&gt;Most free a domain name 30 days after it expires.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;VIRTUALSERVER&quot;&gt;&lt;/a&gt;       &lt;a name=&quot;LOADBALANCING&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;         &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Web Server Load Balancing:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;       &lt;/table&gt;       &lt;p&gt;       &lt;/p&gt; Load balancing becomes important if your traffic volume becomes too great for either your server or network connection or both. Multiple options are available for load balancing. &lt;ul&gt;&lt;li&gt;DNS round-robin: &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#DNSRoundRobin&quot;&gt;Discussed above&lt;/a&gt;, this uses DNS to point users to random server in a list of appropriate servers. This spreads the load among the servers in the list.&lt;/li&gt;&lt;li&gt;Use a Linux Virtual Server to Create a Load Balance Cluster. See next section below.&lt;/li&gt;&lt;li&gt;Run a reverse proxy. See &lt;a href=&quot;http://nginx.net/&quot;&gt;nginx&lt;/a&gt; (&quot;engine X&quot;). From a single external internet network connection, route http, smtp, imap or pop3 traffic to various servers on an internal network. Results are pushed back to the nginx proxy for routing to the internet (no caching).&lt;/li&gt;&lt;li&gt;Run the &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_proxy.html&quot;&gt;Apache httpd web server module &quot;mod_proxy&quot;&lt;/a&gt; to offload processing of dynamic content to another web server. This acts as a reverse proxy, routing external traffic to various servers on an internal network.&lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       &lt;/p&gt;       &lt;hr noshade=&quot;noshade&quot; size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;         &lt;tbody&gt;           &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Using a Linux Virtual Server to Create a Load Balance Cluster:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; You can use a single Linux server to forward requests to a cluster of servers using iptables for IP masquerading and IPVsadm to scale your load. The load balancing server receiving and routing the requests is called the &quot;Linux Virtual Server&quot; (LVS). The LVS receives the requests which are passed to the real servers which  process and reply to the request.  This reply is forwarded to the client by the LVS.       &lt;/p&gt;       &lt;p&gt; This feature is available with the Linux 2.4/2.6 kernel. (If compiling kernel: Networking Options + IP: Virtual Server Configuration)       &lt;/p&gt;       &lt;p&gt; Configuration: This example will load balance http traffic to three web servers  and ftp traffic to a fourth server.       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;Enable Forwarding:     (Also see &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialNetworking.html#FORWARDING&quot;&gt;YoLinux Networking Tutorial: Enable Forwarding&lt;/a&gt;)                &lt;dl&gt;&lt;dd&gt;               &lt;pre&gt;&lt;tt&gt;echo &quot;1&quot; &gt; /proc/sys/net/ipv4/ip_forward&lt;/tt&gt;&lt;br /&gt;             &lt;/pre&gt;             &lt;/dd&gt;&lt;/dl&gt;          &lt;/li&gt;&lt;li&gt;Enable IP Masquerading:           &lt;dl&gt;&lt;dd&gt;               &lt;pre&gt;iptables -t nat -P POSTROUTING DROP&lt;br /&gt;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;   &lt;/pre&gt;      For more on IP Masquerading, iptables and subnet addresses, see the      &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html&quot;&gt;YoLinux network gateway tutorial&lt;/a&gt;.     &lt;/dd&gt;&lt;/dl&gt;         &lt;/li&gt;&lt;li&gt;Enable virtual server:           &lt;ul&gt;&lt;li&gt;Create virtual service and choose scheduler for http (80) and ftp (21):               &lt;dl&gt;&lt;dd&gt;                   &lt;pre&gt;ipvsadm -A -t 66.218.88.103:80 -s wlc&lt;br /&gt;ipvsadm -A -t 66.218.88.103:21 -s wrr&lt;br /&gt;   &lt;/pre&gt;      Command directives:                        &lt;ul&gt;&lt;li&gt;A: Add a virtual service defined by IP  address,  port  number, and protocol.     &lt;/li&gt;&lt;li&gt;-t:  Use   TCP   service host:port     &lt;/li&gt;&lt;li&gt;-s: scheduler:                                 &lt;ul&gt;&lt;li&gt;rr: Robin Robin: distributes jobs equally amongst the avail-               able real servers.         &lt;/li&gt;&lt;li&gt;wrr: Weighted Round Robin.         &lt;/li&gt;&lt;li&gt;lc: Least-Connection: assigns more jobs to real  servers  with               fewer active jobs.         &lt;/li&gt;&lt;li&gt;wlc: (Default) Weighted Least-Connection: assigns more jobs to servers               with fewer jobs  and  relative  to  the  real  server&#39;s  weight.         &lt;/li&gt;&lt;li&gt;lblc, lblcr, dh, sh, sed, nq. See man page.         &lt;/li&gt;&lt;/ul&gt;      &lt;/li&gt;&lt;/ul&gt;      &lt;/dd&gt;&lt;/dl&gt;      &lt;/li&gt;&lt;li&gt;Configure load balancing cluser.                    &lt;dl&gt;&lt;dd&gt;                        &lt;pre&gt;ipvsadm -a -t 66.218.88.103:80 -r 176.168.1.1:80 -m&lt;br /&gt;ipvsadm -a -t 66.218.88.103:80 -r 176.168.1.2:80 -m -w 2&lt;br /&gt;ipvsadm -a -t 66.218.88.103:80 -r 176.168.1.3:80 -m&lt;br /&gt;ipvsadm -a -t 66.218.88.103:21 -r 176.168.1.4:21 -m&lt;br /&gt;   &lt;/pre&gt;      Command directives:                        &lt;ul&gt;&lt;li&gt;-r:  Real server.     &lt;/li&gt;&lt;li&gt;-m:  Use masquerading also known as network  address  translation (NAT)     &lt;/li&gt;&lt;li&gt;-w:  Weight is an integer specifying the capacity  of a server rela-               tive  to the others in the pool. The valid values of weight are               0 through to 65535. The default is  1.     &lt;/li&gt;&lt;/ul&gt;      &lt;/dd&gt;&lt;/dl&gt;      &lt;/li&gt;&lt;/ul&gt;          &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt; Links:       &lt;/p&gt;       &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.linuxvirtualserver.org/&quot;&gt;LinuxVirtualServer.org&lt;/a&gt;         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=iptables&quot;&gt;iptables&lt;/a&gt; - Administration tool for IPv4 packet filtering and NAT         &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=ipvsadm&quot;&gt;ipvsadm&lt;/a&gt; - Administer the routing table on a Linux Virtual Server.         &lt;/li&gt;&lt;/ul&gt;        &lt;p&gt;       &lt;a name=&quot;DAEMONS&quot;&gt;&lt;/a&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;         &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Managing Web Server Daemons:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;       &lt;/table&gt;       &lt;p&gt; To view if these services are  running, type &lt;tt&gt;ps -aux&lt;/tt&gt; and look for the httpd, inetd and named  services (daemons). These are background processes necessary to perform the server tasks.       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;             &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;   root       681  0.0  0.5  2304  744 ?        S    Sep09   0:01 named&lt;br /&gt;  nobody   28123  0.0  1.1  3036 1420 ?        S    Oct06   0:00 httpd&lt;br /&gt;  nobody   28186  0.0  0.7  3044  896 ?        S    Oct06   0:00 httpd&lt;br /&gt;  root       385  0.0  0.1  1136  232 ?        S    Sep09   0:00 inetd&lt;br /&gt;&lt;/pre&gt;                  &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;         &lt;/dd&gt;&lt;/dl&gt;  A new installation will most likely NOT start the named background process which may be started manually after configuration.      &lt;br /&gt; See the &lt;a href=&quot;http://www.yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html&quot;&gt;YoLinux Init Process Tutorial&lt;/a&gt; for more information.      &lt;br /&gt; The inetd (or xinetd) background process is the Internet daemon which  starts FTP when an ftp request is made.       &lt;p&gt;       &lt;/p&gt;       &lt;hr size=&quot;5&quot;&gt;       &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;          &lt;tbody&gt;           &lt;tr bgcolor=&quot;#ffcc33&quot;&gt;             &lt;td&gt;&lt;b&gt;&lt;big&gt;Sys Admin Script:&lt;/big&gt;&lt;/b&gt;&lt;/td&gt;           &lt;/tr&gt;          &lt;/tbody&gt;       &lt;/table&gt;        &lt;p&gt; Script to prepare an account: (Red Hat/Fedora)       &lt;/p&gt;       &lt;dl&gt;&lt;dd&gt;           &lt;table width=&quot;100%&quot; bgcolor=&quot;#000000&quot; border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;1&quot;&gt;              &lt;tbody&gt;               &lt;tr bgcolor=&quot;#c0c0c0&quot;&gt;                 &lt;td&gt;                 &lt;pre&gt;#!/bin/sh&lt;br /&gt;# Author Greg Ippolito&lt;br /&gt;# Requires: /opt/etc/AccountDefaults/pathmsg favicon.ico  mwh-mini_tr.gif etc.&lt;br /&gt;#           /opt/bin/ftponly&lt;br /&gt;#   You must be root to run this script.&lt;br /&gt;#&lt;br /&gt;if [ $# -eq 0 ]&lt;br /&gt;then&lt;br /&gt;  echo &quot;Enter user id as a command argument&quot;&lt;br /&gt;else if [ -r /home/$1 ]&lt;br /&gt;then&lt;br /&gt;  echo &quot;User&#39;s home directory already exists&quot;&lt;br /&gt;else&lt;br /&gt;  echo &quot;1)  Create user.&quot;&lt;br /&gt;  adduser -m $1&lt;br /&gt;&lt;br /&gt;  echo &quot;2)  Set user Password.&quot;&lt;br /&gt;  passwd $1&lt;br /&gt;&lt;br /&gt;  echo &quot;3)  Add read access to user directory so apache can read it.&quot;&lt;br /&gt;  cd /home&lt;br /&gt;  chmod ugo+rx $1&lt;br /&gt;  cd $1&lt;br /&gt;&lt;br /&gt;  echo &quot;4)  Create web directories.&quot;&lt;br /&gt;  mkdir public_html&lt;br /&gt;  chown $1.$1 public_html&lt;br /&gt;  chcon -R -h -u system_u -r object_r -t httpd_sys_content_t public_html&lt;br /&gt;  cd public_html&lt;br /&gt;  mkdir images&lt;br /&gt;  chown $1.$1 images&lt;br /&gt;  chcon -R -h -u system_u -r object_r -t httpd_sys_content_t images&lt;br /&gt;&lt;br /&gt;  # Block potential for unauthenticated logins&lt;br /&gt;  cd ../&lt;br /&gt;  touch .rhosts&lt;br /&gt;  chmod ugo-xrw .rhosts&lt;br /&gt;&lt;br /&gt;  echo &quot;5)  Create default web page&quot;&lt;br /&gt;  sed &quot;/HEADING/s!HEADING!$1!&quot; /opt/etc/AccountDefaults/default-index.html &gt; index.html&lt;br /&gt;  cp -p /opt/etc/AccountDefaults/favicon.ico .&lt;br /&gt;  cp -p /opt/etc/AccountDefaults/default-logo.gif ./images&lt;br /&gt;  cp -p /opt/etc/AccountDefaults/robots.txt .&lt;br /&gt;  chown $1.$1 index.html favicon.ico robots.txt&lt;br /&gt;  chcon -R -h -t httpd_sys_content_t index.html favicon.ico robots.txt&lt;br /&gt;  chcon -R -h -t httpd_sys_content_t images/default-logo.gif&lt;br /&gt;&lt;br /&gt;  echo &quot;6)  Edit /etc/passwd file - change user shell to /opt/bin/ftponly&quot;&lt;br /&gt;  cp -p  /etc/passwd /etc/passwd-`date +%m%d%y`&lt;br /&gt;  sed &quot;/^$1/s!/bin/bash!/opt/bin/ftponly!&quot; /etc/passwd-`date +%m%d%y` &gt; /etc/passwd&lt;br /&gt;&lt;br /&gt;#wu-ftp# Requires: /etc/ftpaccess guestuser restrict-uid&lt;br /&gt;#wu-ftp#   echo &quot;7)  Add user to /etc/ftpaccess file&quot;&lt;br /&gt;#wu-ftp#   cp -p  /etc/ftpaccess /etc/ftpaccess-`date +%m%d%y`&lt;br /&gt;#wu-ftp#   sed &quot;/^guestuser/s!guestuser !guestuser $1 !&quot; /etc/ftpaccess-`date +%m%d%y` &gt; /etc/ftpaccess&lt;br /&gt;#wu-ftp#   sed &quot;/^restricted-uid/s!restricted-uid !restricted-uid $1 !&quot; /etc/ftpaccess-`date +%m%d%y` &gt; /etc/ftpaccess&lt;br /&gt;#wu-ftp#   echo &quot;guest-root /home/$1/public_html $1&quot; &gt;&gt; /etc/ftpaccess&lt;br /&gt;&lt;br /&gt;  echo &quot;7)  Add user to vsftpd chroot list&lt;br /&gt;  cat `echo $1` &gt;&gt; /etc/vsftpd/vsftpd.chroot_list&lt;br /&gt;&lt;br /&gt;  echo &quot;8)  Setting Disk Quotas to default 50Mb limit:&quot;&lt;br /&gt;#  Use user johndoe as a prototype.&lt;br /&gt;  edquota -p johndoe $1&lt;br /&gt;&lt;br /&gt;  echo &quot;9)  Admin Follow-up:&quot;&lt;br /&gt;  echo &quot;     Modify quota.user if different than default&quot;&lt;br /&gt;  echo &quot;     Make changes to Bind names services on dns1 and dns2 if necessary&quot;&lt;br /&gt;  echo &quot;       Change /etc/http/conf/httpd.conf or&lt;br /&gt;  echo &quot;       add config to /etc/http/conf.d/ if using a new domain name&quot;&lt;br /&gt;  echo &quot;       Add e-mail aliases to mail server if necessary&quot;&lt;br /&gt;fi&lt;br /&gt;fi&lt;br /&gt;     &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; FYI: Sample robots.txt files:       &lt;/p&gt;&lt;pre&gt;&lt;br /&gt;     &lt;/pre&gt;                 &lt;/td&gt;               &lt;/tr&gt;             &lt;/tbody&gt;           &lt;/table&gt;          &lt;/dd&gt;&lt;/dl&gt;        &lt;p&gt; FYI: Sample robots.txt files:       &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/4237757796215535974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/linux-internet-web-server-and-domain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4237757796215535974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/4237757796215535974'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/linux-internet-web-server-and-domain.html' title='Linux Internet Web Server and Domain Configuration Tutorial'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-3449693460029551271</id><published>2009-12-04T09:16:00.000-08:00</published><updated>2009-12-04T09:18:08.854-08:00</updated><title type='text'>Setting Up the Domain Name System for Active Directory</title><content type='html'>&lt;div style=&quot;margin-left: 195px;&quot; class=&quot;sbody&quot;&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Domain Name System (DNS) is the Active Directory locator in Windows 2000. Active Directory clients and client tools use DNS to locate domain controllers for administration and logon. You must have a DNS server installed and configured for Active Directory and the associated client software to function correctly. This article guides you through the required DNS configuration.&lt;br /&gt;&lt;br /&gt;NetBIOS name resolution (WINS server, LMHosts file, or NetBIOS broadcast) is still required for earlier versions of Windows to resolve network resources on an Active Directory domain.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: A Windows 2000 Server CD-ROM is required to complete Setup. Installing the operating system from a network share does not work in some scenarios.&lt;br /&gt;&lt;br /&gt;Experienced DNS administrators are encouraged to read the steps involved in configuration, and modify them to suit different scenarios. The steps in this article outline a single, simple configuration and do not represent the only possible configuration. &lt;div class=&quot;topOfPage&quot;&gt;&lt;a href=&quot;http://support.microsoft.com/kb/237675#top&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 class=&quot;subTitle&quot; id=&quot;tocHeadRef&quot;&gt;&lt;span&gt;MORE INFORMATION&lt;/span&gt;&lt;div class=&quot;sectionpreview_closed&quot;&gt;DNS Server Requirements  Microsoft recommends that you use Microsoft DNS Server...&lt;/div&gt;&lt;/h2&gt;&lt;script type=&quot;text/javascript&quot;&gt;                             loadTOCNode(1, &#39;moreinformation&#39;);                         &lt;/script&gt;&lt;div style=&quot;margin-left: 195px;&quot; class=&quot;sbody&quot;&gt;&lt;h3 id=&quot;tocHeadRef&quot;&gt;DNS Server Requirements&lt;/h3&gt;&lt;script type=&quot;text/javascript&quot;&gt;                 loadTOCNode(2, &#39;moreinformation&#39;);             &lt;/script&gt;Microsoft recommends that you use Microsoft DNS Server as supplied with Windows 2000 Server as your DNS server. However, Microsoft DNS is not required. The DNS server that you use: &lt;ul&gt;&lt;li&gt;Must support the SRV RR (RFC 2052).&lt;/li&gt;&lt;li&gt;Supports the dynamic update protocol (RFC 2136).&lt;/li&gt;&lt;/ul&gt;Version 8.1.2 and later of BIND (a popular DNS server implementation) supports both the SRV RR and dynamic update. (Version 8.1.1 does support dynamic updates but it has flaws that were fixed in 8.1.2.) If you are using a version of BIND that does not support dynamic update, you need to manually add records to the DNS server.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: Microsoft DNS, as included with Microsoft Windows NT 4.0 Server, does not support the SRV record. Use DNS Server that is provided with Windows 2000 Server.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;topOfPage&quot;&gt;&lt;a href=&quot;http://support.microsoft.com/kb/237675#top&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h3 id=&quot;tocHeadRef&quot;&gt;Starting with a Windows 2000-Based Stand-Alone Server&lt;/h3&gt;&lt;script type=&quot;text/javascript&quot;&gt;                 loadTOCNode(2, &#39;moreinformation&#39;);             &lt;/script&gt;  This server becomes a DNS server for your network. You can also promote it to the domain controller role at a later time.&lt;br /&gt;&lt;br /&gt;In the first step, you assign this server a static Internet Protocol (IP) configuration. DNS servers should not use dynamically assigned IP addresses, because a dynamic change of address could cause clients to lose contact with the DNS server. &lt;h4 id=&quot;tocHeadRef&quot;&gt;Configure TCP/IP&lt;/h4&gt;&lt;script type=&quot;text/javascript&quot;&gt;             loadTOCNode(3, &#39;moreinformation&#39;);         &lt;/script&gt;&lt;ol&gt;&lt;li&gt;Click &lt;b&gt;Start&lt;/b&gt;, point to &lt;b&gt;Settings&lt;/b&gt; and then click &lt;b&gt;Control Panel&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Double-click &lt;strong class=&quot;uiterm&quot;&gt;Network and Dial-up Connections&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Right-click &lt;b&gt;Local Area Connection&lt;/b&gt;, and then click  &lt;b&gt;Properties&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Internet Protocol (TCP/IP)&lt;/b&gt;, and then click &lt;b&gt;Properties&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Assign this server a static IP address, subnet mask, and gateway address.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Advanced&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Click the &lt;b&gt;DNS&lt;/b&gt; Tab.&lt;/li&gt;&lt;li&gt;Select &quot;Append primary and connection specific DNS suffixes&quot;&lt;br /&gt;     Check &quot;Append parent suffixes of the primary DNS suffix&quot;&lt;br /&gt;     Check &quot;Register this connection&#39;s addresses in DNS&quot;&lt;br /&gt;&lt;br /&gt;If this Windows 2000-based DNS server is on an intranet, it should only point to its own IP address for DNS; do not enter IP addresses for other DNS servers here. If this server needs to resolve names on the Internet, it should have a forwarder configured.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt; to close the Advanced TCP/IP Settings properties.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt; to accept the changes to your TCP/IP configuration.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt; to close the Local Area Connections properties.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: If you receive a warning from the DNS Caching Resolver service, click &lt;b&gt;OK&lt;/b&gt; to dismiss the warning. The caching resolver is trying to contact the DNS server, but you have not finished configuring the server.&lt;/li&gt;&lt;li&gt;Continue to the next step to install Microsoft DNS Server.&lt;/li&gt;&lt;/ol&gt;&lt;h4 id=&quot;tocHeadRef&quot;&gt;Install Microsoft DNS Server&lt;/h4&gt;&lt;script type=&quot;text/javascript&quot;&gt;             loadTOCNode(3, &#39;moreinformation&#39;);         &lt;/script&gt;&lt;ol&gt;&lt;li&gt;Click &lt;b&gt;Start&lt;/b&gt;, point to &lt;b&gt;Settings&lt;/b&gt;, and then click &lt;b&gt;Control Panel&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Double-click &lt;b&gt;Add/Remove Programs&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong class=&quot;uiterm&quot;&gt;Add and Remove Windows Components&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;The Windows Components Wizard starts. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Networking Services&lt;/b&gt;, and then click &lt;b&gt;Details&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Click to select the &lt;b&gt;Domain Name System (DNS)&lt;/b&gt; check box, and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt; to start server Setup. The DNS server and tool files are copied to your computer.&lt;/li&gt;&lt;li&gt;Continue to the next step to configure the DNS server.&lt;/li&gt;&lt;/ol&gt;&lt;h4 id=&quot;tocHeadRef&quot;&gt;Configure the DNS Server Using DNS Manager&lt;/h4&gt;&lt;script type=&quot;text/javascript&quot;&gt;             loadTOCNode(3, &#39;moreinformation&#39;);         &lt;/script&gt;  These steps guide you through configuring DNS by using the DNS Manager snap-in in Microsoft Management Console (MMC).  &lt;ol&gt;&lt;li&gt;Click &lt;b&gt;Start&lt;/b&gt;, point to &lt;b&gt;Programs&lt;/b&gt;, point to &lt;b&gt;Administrative Tools&lt;/b&gt;, and then click &lt;b&gt;DNS Manager&lt;/b&gt;.  You see two zones under your computer name: &lt;b&gt;Forward Lookup Zone&lt;/b&gt; and &lt;b&gt;Reverse Lookup Zone&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;The DNS Server Configuration Wizard starts. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Right-click &lt;b&gt;Forward Lookup Zone&lt;/b&gt;, and then click &lt;b&gt;Properties&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Choose your DNS server to be a root server. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Choose to add a forward lookup zone. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;The new forward lookup zone must be a primary zone so that it can accept dynamic updates. Click &lt;b&gt;Primary&lt;/b&gt;, and then click &lt;b&gt;Next&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;The new zone contains the locator records for this Active Directory domain. The name of the zone must be the same as the name of the Active Directory domain, or be a logical DNS container for that name.&lt;br /&gt;&lt;br /&gt;For example, if the Active Directory domain is named &quot;support.microsoft.com&quot;, legal zone names are &quot;support.microsoft.com&quot;, &quot;microsoft.com&quot;, or &quot;com&quot;. Type the name of the zone, and then click &lt;b&gt;Next&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: If you name the zone &quot;com&quot; we will believe that we are authoritative for the &quot;com&quot; domain and never forward any requests that we can not answer out to the real &quot;com&quot; domain servers. The same would be true if you named it &quot;microsoft.com&quot;, you would never use your forwarder to resolve requests from the real &quot;microsoft.com&quot; servers. &lt;/li&gt;&lt;li&gt;Accept the default name for the new zone file. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Choose not to add a reverse lookup zone now. Click &lt;b&gt;Next&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: Experienced DNS administrators may want to create a reverse lookup zone, and are encouraged to explore this branch of the wizard.&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Finish&lt;/b&gt; to complete the Server Configuration Wizard.&lt;/li&gt;&lt;li&gt;After the Server Configuration Wizard is finished, DNS Manager starts. Proceed to the next step to enable dynamic update on the zone you just added.&lt;/li&gt;&lt;/ol&gt;&lt;h4 id=&quot;tocHeadRef&quot;&gt;Enable Dynamic Update on the Forward Lookup Zone&lt;/h4&gt;&lt;script type=&quot;text/javascript&quot;&gt;             loadTOCNode(3, &#39;moreinformation&#39;);         &lt;/script&gt;&lt;ol&gt;&lt;li&gt;In DNS Manager, expand the &lt;b&gt;DNS Server&lt;/b&gt; object.  Expand the &lt;b&gt;Forward Lookup Zones&lt;/b&gt; folder.&lt;/li&gt;&lt;li&gt;Right-click the zone you created, and then click &lt;b&gt;Properties&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;On the &lt;b&gt;General&lt;/b&gt; tab, click to select the &lt;b&gt;Allow Dynamic Update&lt;/b&gt; check box, and then click &lt;b&gt;OK&lt;/b&gt; to accept the change.&lt;/li&gt;&lt;li&gt;DNS server configuration is finished. Proceed to the next step if you want to promote this DNS server to be the first domain controller in the enterprise. This is the recommended path.&lt;/li&gt;&lt;li&gt;If you decide to use a different computer as your first domain controller, the configuration instructions in the previous sections of this article apply to that domain controller after you have installed Windows 2000.&lt;/li&gt;&lt;/ol&gt;&lt;h4 id=&quot;tocHeadRef&quot;&gt;Promote This Server to Domain Controller (Optional--Recommended)&lt;/h4&gt;&lt;script type=&quot;text/javascript&quot;&gt;             loadTOCNode(3, &#39;moreinformation&#39;);         &lt;/script&gt;  Promote this server to the domain controller role by using the Dcpromo.exe utility.&lt;br /&gt;&lt;br /&gt;For additional information about promoting and demoting domain controllers, click the article number below  to view the article in the Microsoft Knowledge Base:  &lt;div class=&quot;indent&quot;&gt;&lt;a class=&quot;KBlink&quot; href=&quot;http://support.microsoft.com/kb/238369/EN-US/&quot;&gt;238369&lt;/a&gt;                              &lt;span class=&quot;pLink&quot;&gt;             (http://support.microsoft.com/kb/238369/EN-US/                         )         &lt;/span&gt; How to Promote and Demote Domain Controllers in Windows 2000 &lt;/div&gt; After the server has been promoted to the domain controller role, the DNS server can use the Active Directory Storage Integration feature (this is the recommended path). Proceed to the next step if you want to use Active Directory Storage Integration for DNS. &lt;h4 id=&quot;tocHeadRef&quot;&gt;Enable Active Directory Integrated DNS (Optional--Recommended)&lt;/h4&gt;&lt;script type=&quot;text/javascript&quot;&gt;             loadTOCNode(3, &#39;moreinformation&#39;);         &lt;/script&gt;Active Directory Integrated DNS uses the directory for the storage and replication of DNS zone databases. If you decide to use Active Directory Integrated DNS, DNS runs on one or more domain controllers and you do not need to set up a separate DNS replication topology. &lt;ol&gt;&lt;li&gt;In DNS Manager, expand the &lt;b&gt;DNS Server&lt;/b&gt; object.&lt;/li&gt;&lt;li&gt;Expand the &lt;b&gt;Forward Lookup Zones&lt;/b&gt; folder.&lt;/li&gt;&lt;li&gt;Right-click the zone you created, and then click &lt;b&gt;Properties&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;On the &lt;b&gt;General&lt;/b&gt; tab, the &lt;b&gt;Zone Type&lt;/b&gt; value is set to &lt;b&gt;Primary&lt;/b&gt;. Click &lt;b&gt;Change&lt;/b&gt; to change the zone type.&lt;/li&gt;&lt;li&gt;In the &lt;b&gt;Change Zone Type&lt;/b&gt; dialog box, click &lt;b&gt;DS Integrated Primary&lt;/b&gt;, and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;The DNS server writes the zone database into Active Directory. &lt;/li&gt;&lt;li&gt;Right-click the zone named &quot;.&quot;, and then click &lt;b&gt;Properties&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;On the &lt;b&gt;General&lt;/b&gt; tab, the &lt;b&gt;Zone Type&lt;/b&gt; value is set to &lt;b&gt;Primary&lt;/b&gt;. Click &lt;b&gt;Change&lt;/b&gt; to change the zone type.&lt;/li&gt;&lt;li&gt;In the &lt;b&gt;Change Zone Type&lt;/b&gt; dialog box, &lt;b&gt;DS Integrated Primary&lt;/b&gt;, and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;topOfPage&quot;&gt;&lt;a href=&quot;http://support.microsoft.com/kb/237675#top&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;appliesTo&quot;&gt;&lt;hr /&gt;&lt;h5&gt;APPLIES TO&lt;/h5&gt;&lt;ul&gt;&lt;li&gt;Microsoft Windows 2000 Server&lt;/li&gt;&lt;li&gt;Microsoft Windows 2000 Advanced Server&lt;/li&gt;&lt;li&gt;Microsoft Windows 2000 Datacenter Server&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/3449693460029551271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/setting-up-domain-name-system-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/3449693460029551271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/3449693460029551271'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/setting-up-domain-name-system-for.html' title='Setting Up the Domain Name System for Active Directory'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6837873869959829636.post-5689775749291192637</id><published>2009-12-04T09:12:00.001-08:00</published><updated>2009-12-04T09:12:39.367-08:00</updated><title type='text'>Website Domain Name Configuration</title><content type='html'>&lt;b&gt;Domain Name Configuration&lt;/b&gt;&lt;br /&gt;Before understanding how to configure a domain name, one should know how a &lt;a href=&quot;http://content.websitegear.com/article/domain_name.htm&quot;&gt;&lt;u&gt;domain name&lt;/u&gt;&lt;/a&gt; works. There are three parts to setting up a domain name for a website - (i) registering the domain name with a domain registrar, (ii) setting up the domain name entry in a DNS server, and finally (iii) configuring the web server to listen to the requests for the domain name. A request for the domain (e.g. http://websitegear.com) starts at one of the registrar&#39;s server, which then routes it to a DNS server containing the DNS information for the domain. Once the DNS record for the domain resolves the domain name to a particular IP address, the request is sent to the web server listening to that IP address. The web server can now delegate the request to the particular website based on the domain name in the host header of the request object.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering A Domain Name&lt;/b&gt;&lt;br /&gt;A domain name needs to be registered with one of the ICANN (http://www.icann.org) approved domain registrars for a yearly registration fee. One of the cheapest registrar with all the required features is GoDaddy.com (http://www.godaddy.com). There are registrars for each country specific domain names (such as .co.uk for United Kingdom, .nl for Netherlands). One should &lt;a href=&quot;http://content.websitegear.com/article/site_name.htm&quot;&gt;&lt;u&gt;choose a domain name&lt;/u&gt;&lt;/a&gt; very carefully. After deciding on an &lt;a href=&quot;http://www.webhostingsearch.com/domain-search.php&quot;&gt;&lt;u&gt;available domain name&lt;/u&gt;&lt;/a&gt;, one has to provide the following information during the registration process:&lt;ol&gt;&lt;li&gt;Domain name owner credentials (name, company name, address, phone, email address etc.)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Administrative contact credentials&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Technical contact credentials&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Domain Name System (DNS) server details&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;The DNS server (also known as name server) is usually provided by the web hosting company. The DNS server should have entries of the domain name as explained in the next section. At least a primary (e.g. ns1.websitegear.net) and a secondary (e.g. ns2.websitegear.net) name server addresses are required. DNS server setup requires extra knowledge and is not within the scope of this article.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Domain Setup On DNS Server&lt;/b&gt;&lt;br /&gt;The domain setup on the DNS server can be done after the domain is registered, however, the domain name will not work until the DNS setup is completed. A DNS server maps a domain name to IP address(es) of the web server and mail server so that a client can connect to the webserver or mail server using the domain name and not the IP address. A forward lookup zone is created for the domain name in the DNS server. Start of authority (SOA), Name server (NS), Hostname (A), Canonical Names (CNAME) and Mail eXchange (MX) entries are added to the forward lookup zone as shown below for a domain &quot;&lt;i&gt;foodomain.com&lt;/i&gt;&quot; with name servers &quot;&lt;i&gt;ns1.dnsserver.com&lt;/i&gt;&quot; and &quot;&lt;i&gt;ns1.dnsserver.com&lt;/i&gt;&quot;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Start Of Authority (SOA) Record:&lt;/b&gt; The SOA record is very important because it denotes the official DNS record for the domain name. There can be only one SOA record for each domain in a zone file.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;@ IN SOA ns1.dnsserver.com. hostmaster.dnsserver.com. (&lt;br /&gt; 20041014  ; serial number&lt;br /&gt; 900 ; refresh&lt;br /&gt; 600 ; retry&lt;br /&gt; 86400 ; expire&lt;br /&gt; 3600 ) ; default TTL&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Address (A) Record Entry:&lt;/b&gt; The address (A) record is added to the forward lookup zone of the domain and it is associated with the IP addresses of the web server, which will handle the requests for the domain. There can be multiple A records, in which case, it will use the &lt;a href=&quot;http://content.websitegear.com/article/load_balance_dns.htm&quot;&gt;&lt;u&gt;round robin DNS load balancing&lt;/u&gt;&lt;/a&gt; mechanism to assign the requests.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;foodomain.com   IN  A   123.2.33.45.&lt;br /&gt;foodomain.com   IN  A   123.2.33.46.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Alias (CNAME) Entry:&lt;/b&gt; A canonical name (CNAME) record maps an alias to the real name, Note that an alias for www is setup as a CNAME, so that requests to www.domain.com is sent to the same website that handles the requests for domain.com.&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;www   IN  CNAME   foodomain.com.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Name Server (NS) Record:&lt;/b&gt; The NS record is used to define the name servers for the domain. It may seem unnecessary to keep a record of the name server in the DNS entry because the name server lookup is already present in the registrar records, where the lookup for the domain starts. This record is needed, incase, someone requires to know the name servers for this domain. The NS records are mapped to CNAME entries (ns1 and ns2 in the example below).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;foodomain.com  IN  NS ns1.dnsserver.com.&lt;br /&gt;foodomain.com  IN  NS ns2.dnsserver.com.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mail Exchanger (MX) Setup:&lt;/b&gt; The mail exchanger domain configuration is required if an email server is setup to handle the domain mail accounts. For example, an email address like joe@foodomain.com will require a domain setup for resolving the mail server for foodomain.com. The setup is similar to the CNAME setup but with MX records. There can be multiple MX records (e.g. for backup mail servers).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;foodomain.com    IN  MX  10  mail.foodomain.com.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt;: Test the DNS setup of the domain using DNSReport.com. This site provides a detailed report of any DNS misconfigurations and possible solutions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuring Web Server For Domain&lt;/b&gt;&lt;br /&gt;Once the DNS server is setup to send the request for the domain to the corresponding IP address, the work of the web server begins. The web server needs to be configured appropriately to handle the request for the domain based on either the IP address or the host header entry. Host headers are commonly used by web servers to host multiple domains on one IP address.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft Windows IIS :&lt;/b&gt; In case of Internet Information Server (IIS), create a new web site for the domain using the IIS Manager, and add the domain (e.g. domain.com) as a new host header value listening to the same IP address as specified in the DNS entry. The port is set to 80 (the default for http requests). The host header can be added by clicking on the advanced tab next to the IP address configuration for that web site application. Set the home directory for the domain web site to the directory (e.g. C:\Inetpub\wwwroot\). Add another host header entry for www.foodomain.com so that anyone can access the website when typing with www in the beginning.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Apache Web Server :&lt;/b&gt; In case of Apache web server, the subdomain is configured by virtual host entries in httpd.conf as shown below.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;Listen 80&lt;br /&gt;NameVirtualHost *&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;br /&gt; ServerName www.domain.com&lt;br /&gt; DocumentRoot /home/httpd/htdocs/&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;br /&gt;&lt;virtualhost&gt;&lt;br /&gt; ServerName domain.com&lt;br /&gt; DocumentRoot /home/httpd/htdocs/&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;br /&gt;Domain configuration starts with an entry with a domain registrar, and the registrar record maps the domain to name servers, which contains the detailed DNS entries for the domain. The lookup for the domain name at the designated DNS server resolves the domain to an IP address of the web server. The web server in turn delegates the requests based on its configuration for the domain.</content><link rel='replies' type='application/atom+xml' href='http://computechonline.blogspot.com/feeds/5689775749291192637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://computechonline.blogspot.com/2009/12/website-domain-name-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/5689775749291192637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6837873869959829636/posts/default/5689775749291192637'/><link rel='alternate' type='text/html' href='http://computechonline.blogspot.com/2009/12/website-domain-name-configuration.html' title='Website Domain Name Configuration'/><author><name>Ravinder Kumar</name><uri>http://www.blogger.com/profile/07623918717919680697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUoqqoGStKiLFZqqDdU9syYoXs53FQ4ht4XERlY2Saf98g7Uu9HbahAFl77MOSB7-mh1HI7ahRrmh35eoiZkPi7t-FAo8kANhidW1HdDImYO29PqMkrwW-Beq5azS47A/s220/IMG_20171116_234445.jpg'/></author><thr:total>0</thr:total></entry></feed>