Cài đặt Apache trên Windows. Trở thành máy chủ của riêng bạn hoặc cài đặt Apache trên nền tảng Windows

1.3) Trong thư mục gốc của ổ E: tạo hai thư mục iSites (các trang của chúng tôi sẽ nằm ở đây) và iLogs (nhật ký máy chủ chung sẽ nằm ở đây).
1.4) Trong thư mục G:\iSites, chúng tôi tạo hai thư mục con localhost và testru, sau đó mỗi thư mục có thư mục con www riêng, nhật ký và ssl

2) Bây giờ bạn cần tải xuống các tệp nhị phân Apache. Tất cả! Chúng tôi đã đến nơi! Không còn trình cài đặt nào nữa! Mọi thứ đều giống như người lớn :)

Để tải xuống, hãy truy cập vào đây http://httpd.apache.org/download.cgi và xem nội dung như thế này (tùy thuộc vào ngày bạn đọc bài viết này của tôi :)):

Hiện nay mới nhất Phiên bản Apache 2.4.18. Sau khi nhấp vào liên kết được chỉ định, chúng tôi nhận được ở đây:

12.1) Giải nén nội dung của kho lưu trữ vào thư mục D:\iServer\PHP

12.2) Chúng tôi sẽ đính kèm PHP vào Apache dưới dạng mô-đun Apache. Để thực hiện việc này, hãy vào danh mục E:\iServer\Apache\conf, và thêm nó vào tập tin httpd.confở cuối khối hướng dẫn Mô-đun tải hai dòng:
LoadModule php7_module "D:/iServer/PHP/php7apache2_4.dll"
PHPIniDir "D:/iServer/PHP"

12.3) Tìm nó trong tập tin httpd.conf Hướng dẫn AddType, ở cuối khối này chúng tôi chèn hướng dẫn:
Ứng dụng AddType/x-httpd-php .php

12.4) Tìm trong tập tin httpd.conf khối lệnh Chỉ mục thư mục. Và thêm nó vào hướng dẫn Chỉ mục thư mục tham chiếu tập tin chỉ mục.php. Để các hướng dẫn cuối cùng trông như thế này:
DirectoryIndex chỉ mục.html chỉ mục.php

12.5) Trong hồ sơ httpd.confđến phần Trình xử lý bổ sung thêm một dòng Ứng dụng AddHandler/x-httpd-php .php

12.6) Bây giờ là lúc định cấu hình tệp php.ini. Để thực hiện việc này, hãy đổi tên hoặc sao chép tệp sản xuất php.ini(trong danh mục D:\iServer\PHP) nộp php.ini.

12.7) Trong hồ sơ php.ini bỏ ghi chú dòng phần mở rộng_dir = "ext" và các tiện ích mở rộng bạn cần

12.8) Tìm dòng trong tệp php.ini short_open_tag = Tắt. Và chúng tôi khiến cô ấy nhớ đến short_open_tag=Bật

12.9) Tạo trong một thư mục E:\iSites\localhost\www phptest.php và viết đoạn mã sau vào đó:
phpinfo();
?>

Lưu các tập tin.

12.10) Dừng và khởi động lại Apache thông qua bảng điều khiển quản lý Apache. Sau khi khởi động lại Apache, bạn có thể mở cửa sổ quản lý dịch vụ Apache bằng cách nhấp đúp vào biểu tượng khay. Bạn sẽ thấy cửa sổ sau:

Xin lưu ý rằng bây giờ với phiên bản Apache, phiên bản PHP cũng được chỉ định.

12.11) Kiểm tra hoạt động của PHP. Nhập vào trình duyệt http://localhost/phptest.php và chúng ta nhìn thấy bức tranh sau đây và tận hưởng cuộc sống. PHP đã hoạt động:

12.12) Chúng tôi cũng sẽ bật tính năng này để thử nghiệm Hàm PHPđể làm việc với đồ họa. Chỉnh sửa tệp D:\iServer\PHP\php.ini. Tìm dòng tiện ích mở rộng=php_gd2.dll và bỏ ghi chú nó. Khởi động lại Apache.

Tạo một tệp trong thư mục G:\iSites\localhost\www gdtest.php và nhập đoạn mã sau:

$pic=imagecreate(350,100);
$piccolor=imagecolorallocate($pic, 255,255,255);
$textcolor=imagecolorallocate($pic, 0,0,0);
$linecolor=imagecolorallocate($pic, 0,0,255);
$text="Kiểm tra GD thành công - gdtest.php!";
hình ảnh hình chữ nhật($pic, 1.99, 349.0, $linecolor);
chuỗi hình ảnh($pic,5,30,40, $text, $textcolor);
header("loại nội dung: image/png");
hình ảnhpng ($ pic);
hình ảnh hủy diệt ($ pic);
?>

Chúng ta nhập địa chỉ http://localhost/gdtest.php vào trình duyệt và thấy:

Nếu chúng tôi không nhìn thấy nó, thì như thường lệ, chúng tôi hút sách hướng dẫn cho đến khi hoàn toàn rõ ràng :)

13) Bây giờ hãy thiết lập nó viết lại_module, điều rất hữu ích :). Trong tập tin httpd.con f bỏ ghi chú dòng

LoadModule rewrite_module mô-đun/mod_rewrite.so


Không cho phép ghi đè
Yêu cầu tất cả bị từ chối

Và thay thế dòng trong đó AllowOverride Không có Mỗi dòng Cho phépGhi đè Tất cả
Thì ngay bên dưới sẽ chỉ có một dòng AllowOverride Không có nó cần phải được thay đổi thành Cho phépGhi đè Tất cả
Điều này bao gồm xử lý TẤT CẢ cài đặt ALL.htaccess trong tất cả các thư mục.

Bây giờ chúng ta kiểm tra hoạt động của mô-đun viết lại. Khởi động lại Apache

Trong danh mục E:\iSites\localhost\www tạo một tập tin .htaccess và thêm một dòng vào nó

dòng này chuyển hướng từ tệp index.html đến trang ya.ru

Trong trình duyệt, chúng ta chỉ cần gõ localhost và nó sẽ chuyển hướng chúng ta đến trang ya.ru

Nếu nó hoạt động thì mọi thứ đã được cấu hình đúng. Chà, nếu không, thì chúng ta hãy tìm xem chúng ta đã làm sai ở đâu.

14) Cài đặt MySQL. Hãy đến đây và tải xuống trình cài đặt mysql-installer-community-5.7.11.0.msi. Điều đáng chú ý là ít nhất tập tin msi 32 bit nhưng cài cả x32 hay x64 tùy nền tảng . Và vì vậy, chúng tôi nhấp vào nó và quá trình cài đặt bắt đầu...

Sau đó, chúng tôi thấy điều này và bắt đầu chọn các thành phần bạn cần và loại bỏ những thành phần bạn không cần...

Tôi đã chọn các thành phần sau:

Sau đó nhấp vào Tùy chọn nâng cao...

Và chọn nơi nó sẽ được cài đặt máy chủ MySQL và căn cứ của nó sẽ nằm ở đâu:

Nhấp vào OK và Tiếp theo và chúng tôi thấy rằng trình cài đặt cần có bản phân phối lại để Workbench hoạt động. Nhưng như anh ấy báo cáo, anh ấy sẽ cố gắng tự cài đặt nó

Bấm vào Thực thi và xem:

Chà, chúng tôi đã đặt lại... và bây giờ mọi thứ đều ổn

Và nhấp vào Thực hiện...

Đã đến lúc cấu hình MySQL...

Vâng, hãy nhấp vào Thực hiện...

Sau khi nhấn Finish, Workbench sẽ bắt đầu...

Hãy kết nối với MySQL bằng nó

Nếu chúng tôi thấy điều này, điều đó có nghĩa là máy chủ đã được cài đặt và đang chạy. Nhưng Apache chưa thể làm việc với nó.

14.1) Hãy cấu hình MySQL một chút. Theo mặc định, nó lưu trữ các tập tin tạm thời trên ổ đĩa hệ thống, điều mà tôi cho là không tốt. Vì vậy chúng tôi chuyển Hồ sơ tạm thờiđến một nơi khác. Để làm điều này trong tập tin E:\MySQLdb\my.ini trong phần thêm một dòng tmpdir=E:/MySQLtemp. Đương nhiên, thư mục E:\MySQLtemp phải được tạo sẵn. Khởi động lại dịch vụ MySQL và tận hưởng khung cảnh:

14.2) Kiểm tra hoạt động của MySQL (tách biệt hiện tại, không kết nối với Apache và PHP). Chúng tôi đưa ra từ dòng lệnh trong thư mục D:\iServer\MySQL\binđội

mysql.exe -h localhost -P 3306 -u root -p

nhập mật khẩu và đưa lệnh tiếp theo

hiển thị cơ sở dữ liệu;

15) Chúng tôi gắn MySQL vào Apache, mặc dù nói với PHP thì chính xác hơn nhưng nó đã được gắn vào Apache rồi. Đây là cách con tàu thành ra. Vì vậy, hãy chỉnh sửa tệp D:\iServer\PHP\php.ini . Chúng tôi tìm thấy các dòng trong đó
tiện ích mở rộng=php_mysqli.dll
tiện ích mở rộng=php_pdo_mysql.dll

và bỏ ghi chú chúng. Sau đó chúng ta tìm dòng mysqli.default_port = và đưa nó về dạng mysqli.default_port = 3306 . Tiếp theo chúng ta tìm dòng mysqli.default_host = và đưa về dạng mysqli.default_host = localhost

Khởi động lại Apache.

Trong danh mục E:\iSites\localhost\www tạo tệp mysqltest.php và nhập đoạn mã sau vào đó:

thử (
$DBH = PDO mới("mysql:host=localhost", "root", "MẬT KHẨU CỦA BẠN");

foreach($DBH->query("SELECT CURDATE()") dưới dạng $row) (
tiếng vang "";
tiếng vang "";
}

}
bắt(PDOException $e) (
echo $e->getMessage();
}
?>

Nhập địa chỉ vào trình duyệt http://localhost/mysqltest.php và nếu mọi thứ được thực hiện chính xác thì chúng ta sẽ thấy ngay hiện tại. Điều này có nghĩa là PHP có thể hoạt động với MySQL.

Hãy tóm tắt. Chúng tôi hiện đang làm việc trên máy chủ Windows 2008R2 x64 Apache 2.4 x64 + PHP 7.0.3 x64 + MySQL 5.7.11 x64. Toàn bộ điều này chiếm đủ dung lượng trên ổ D::

So sánh với điều đó không gian trông trên ổ D: chuyện gì đã xảy ra lúc đầu.

Vì vậy, hãy lập kế hoạch trước cho dung lượng ổ đĩa của bạn.

Mặc dù dữ liệu dịch vụ (trang web, nhật ký và cơ sở dữ liệu) vẫn hầu như không chiếm gì nhưng theo thời gian chúng có xu hướng phát triển. Vì vậy, tốt hơn hết là giữ chúng đĩa riêng, cũng như các dịch vụ, để không cái này hay cái kia làm tắc nghẽn đĩa hệ thống.

16) Bây giờ tất cả những gì còn lại là làm cho dịch vụ Apache hoạt động không phải dưới tài khoản hệ thống mà dưới Người sử dụng thường xuyên. Theo mặc định, trong quá trình cài đặt, dịch vụ Apache được khởi chạy dưới quyền người dùng HỆ THỐNG, người có quyền tối đa trong hệ thống. Đây không phải là gud. Bây giờ chúng ta sẽ khắc phục tình trạng này.

16.1) Tạo và định cấu hình tài khoản để chạy Apache.

  • tạo một tài khoản iUser và gán cho nó một mật khẩu không bao giờ hết hạn
  • chúng tôi kiểm tra xem nó chỉ được bao gồm trong nhóm người dùng
  • cấm người dùng iUserđăng nhập cục bộ và đặt quyền hoạt động ở chế độ hệ điều hành và đăng nhập dưới dạng dịch vụ thông qua phần đính kèm gpedit.msc

  • Chúng tôi cấp cho tài khoản iUser quyền ghi vào các thư mục cần thiết để Apache hoạt động:
    E:\iLogs– nhật ký chung của Apache
    Trong thư mục của tập tin nhật ký trang web. Trong trường hợp của chúng ta: E:\iSites\localhost\logE:\iSites\testru\log
  • Trong tương lai, nếu bạn cần quyền ghi vào bất kỳ thư mục hoặc tệp nào trên trang web của mình thì những quyền này phải được thêm vào. Nhưng hầu hết các tệp trên trang web của bạn không có quyền ghi. Và thậm chí còn hơn thế nữa đối với tệp .htacess
  • Khởi động lại dịch vụ Apache2.2
  • Chà, hãy kiểm tra công việc bằng cách truy cập http://localhost

Nếu bạn đã làm mọi thứ một cách chính xác, thì mọi thứ sẽ hoạt động.

17) Và vì vậy mọi thứ đều diễn ra tốt đẹp đối với chúng tôi tại địa phương. Điều gì sẽ xảy ra nếu bạn cố gắng kết nối với máy chủ web của chúng tôi qua mạng? Và đây là một điều bất ngờ :) Sẽ không ai có thể kết nối được, vì trên Windows Server 2003R2, theo mặc định, cổng này bị đóng bởi tường lửa. Do đó, bạn cần tạo quy tắc cho phép các kết nối đến cổng 80.

18) Chúng tôi cấm Apache đưa ra phiên bản của nó và phiên bản PHP. Thông tin này có thể cho phép bạn biết chắc chắn liệu phiên bản Apache và PHP của bạn có dễ bị tấn công hay không. Tốt hơn hết bạn nên tắt tính năng này đi vì bất kỳ máy quét nào, ngay cả máy quét đơn giản nhất cũng sẽ hiển thị cho bạn dữ liệu này:

Nhân tiện, ở đây bạn cũng có thể thấy rằng Vị trí của chúng tôi là http://ya.ru. Đây chính xác là những gì mod_rewrite của chúng tôi đã làm - một biện pháp bảo vệ khác.

18.1) Để ngăn Apache hiển thị phiên bản của nó và phiên bản PHP, hãy làm như sau:

  • Trong tập tin, bỏ ghi chú dòng Bao gồm conf/extra/httpd-default.conf
  • Trong tập tin D:\iServer\Apache\conf\extra\httpd-default.confđang tìm kiếm một tham số ServerTokens và thay đổi giá trị của nó từ Đầy TRÊN sản phẩm và khởi động lại Apache.

Và bây giờ Apache chỉ hiển thị điều này:

Bạn có đồng ý rằng điều này đã dễ chịu hơn :)?

Để có được hạnh phúc trọn vẹn, tất cả những gì còn lại là cho bạn biết cách gắn nó vào Apache Chứng chỉ SSL cho các trang web ảo. Nhưng nhiều hơn về điều đó trong một bài viết khác. Mặc dù tôi đã viết về điều này. Nhưng thời thế thay đổi và bây giờ mọi thứ đã khác một chút, nhưng bản chất vẫn không thay đổi.

Cài đặt máy chủ web trên Linux:

  • Nếu bạn có Ubuntu thì bài viết “Cách cài đặt máy chủ web Apache với PHP 7, MariaDB/MySQL và phpMyAdmin (LAMP) trên Ubuntu 16.10” là phù hợp với bạn.
  • Nếu bạn có Arch Linux thì bài viết “Cài đặt LAMP (Linux, Apache, MySQL/MariaDB, PHP7 và phpMyAdmin) trên Arch Linux/BlackArch” là phù hợp với bạn.

Máy chủ cục bộ Rất công cụ hữu ích. Nó chắc chắn sẽ hữu ích cho quản trị viên web, lập trình viên PHP và người kiểm tra thâm nhập. Tất cả các chương trình có trong cài đặt điển hình máy chủ web đều miễn phí, tất cả đều mở nguồn. Máy chủ web cục bộ tiêu thụ tài nguyên tối thiểu và thực sự không khó để cài đặt và định cấu hình.

Hướng dẫn này sẽ cho bạn biết cách cài đặt máy chủ web cục bộ mà không cần sử dụng các tổ hợp làm sẵn. Phương pháp này có ưu điểm của nó. Điều quan trọng nhất trong số đó là: toàn quyền kiểm soát về những gì bạn cài đặt; cơ hội sử dụng nhiều nhất phiên bản mới nhất phần mềm.

Nếu bạn làm theo hướng dẫn chính xác, thì mọi thứ chắc chắn sẽ có tác dụng với bạn! Ngoại trừ những người có Windows XP - nếu bạn thích điều này hệ điều hành, thì những hướng dẫn đặc biệt đã được thực hiện cho bạn.

Tôi sẽ đưa ra một ví dụ về cài đặt trên Windows 10, nhưng nếu bạn có một cài đặt khác Phiên bản Windows, thì đừng để điều này làm phiền bạn - quy trình ở mọi nơi đều giống nhau. Tôi sẽ tải xuống phiên bản mới nhất (mới nhất) của chương trình tại thời điểm viết bài. Nếu đến thời điểm bạn đọc có phiên bản mới được phát hành thì hãy tải xuống.

Các bước cài đặt:

Bạn cũng có thể thấy nó hữu ích:

1. Chuẩn bị (tải các chương trình có trong server, tạo cấu trúc server)

Chúng tôi cần:

  • Apache(trực tiếp máy chủ web)
  • PHP- môi trường làm việc chương trình PHP(được yêu cầu bởi hầu hết các trang web)
  • MySQL– hệ thống quản lý cơ sở dữ liệu (được hầu hết các trang web yêu cầu)
  • phpMyAdmin- Rất công cụ tiện dụngđể quản lý cơ sở dữ liệu

Trang web chính thức của các nhà phát triển Apache là httpd.apache.org. Bạn có thể tải xuống Apache từ trang này. Nhưng phiên bản chính thứcđược xây dựng bằng trình biên dịch cũ, vì lý do này nó không hoạt động với các phiên bản PHP mới. Các tác giả PHP khuyên dùng Apache từ apachelounge.com/download. Do đó, đối với hướng dẫn này, chúng tôi tải xuống Apache từ trang apachelounge.com/download.

Nếu bạn có phiên bản Windows 64 bit, thì bạn có thể chọn cả phiên bản thành phần 64 bit và 32 bit. Nguyên tắc chính là tất cả các thành phần phải có cùng kích thước bit. Nếu bạn có phiên bản Windows 32 bit thì tất cả các thành phần phải là 32 bit. Điều này không áp dụng cho phpMyAdmin, được viết bằng Ngôn ngữ PHP. Đối với các chương trình PHP, khái niệm độ sâu bit không được áp dụng.

Phiên bản miễn phí của MySQL được gọi là Máy chủ cộng đồng MySQL. Nó có thể được tải xuống trên trang. Có một trình cài đặt thực thi trên cùng trang này, nhưng tôi khuyên bạn nên tải xuống kho lưu trữ ZIP. Trên trang tải xuống, chúng tôi được yêu cầu đăng ký hoặc đăng nhập vào trang hiện có. tài khoản- nhưng điều này là không cần thiết. Chỉ cần nhấp vào liên kết " Không, cảm ơn, hãy bắt đầu tải xuống" Hãy chú ý đến độ sâu bit.

Chúng tôi cũng cần một tệp có thể phân phối lại C++ Visual Studio 2017, tức là Thành phần có thể phân phối lại Visual C++ cho Visual Studio 2017 (hoặc bất kỳ phiên bản nào khác sau này), bạn có thể tải xuống trên trang web chính thức của Microsoft bằng liên kết (liên kết trực tiếp để tải xuống phiên bản 64 bit; liên kết trực tiếp để tải xuống phiên bản 32 bit). Tập tin này là cần thiết cho máy chủ web. Và MySQL yêu cầu Gói có thể phân phối lại Visual C++ cho Visual Studio 2015. Nó có thể được tải xuống từ .

Vì vậy, tôi đã tải xuống các tệp sau:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-all-lingu.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Cài đặt tập tin vc_redist.x64.exevcredist_x64.exe.

2. Tạo cấu trúc máy chủ web

Hãy tạo cấu trúc thư mục của máy chủ của chúng tôi. Ý tưởng chính là tách các tệp thực thi và tệp trang web với cơ sở dữ liệu. Điều này thuận tiện cho việc bảo trì máy chủ, bao gồm cả việc sao lưu.

Ở gốc của đĩa C:\ tạo một thư mục Máy chủ. Trong thư mục này tạo 2 thư mục con: thùng rác(đối với các tệp thực thi) và dữ liệu.

Đi tới thư mục dữ liệu và tạo các thư mục con ở đó D.B.(đối với cơ sở dữ liệu) và htdocs(đối với các trang web).

Đi tới thư mục C:\Máy chủ\dữ liệu\DB\ và tạo một thư mục trống ở đó dữ liệu.

3. Cài đặt Apache 2.4

Nội dung của kho lưu trữ đã tải xuống (chính xác hơn là chỉ có thư mục Apache24), giải nén vào C:\Máy chủ\bin\.

Đi tới thư mục c:\Server\bin\Apache24\conf\ và mở tập tin httpd.conf bất kỳ trình soạn thảo văn bản nào.

Trong đó chúng ta cần thay thế một số dòng.

Xác định SRVROOT "c:/Apache24"

Xác định SRVROOT "c:/Server/bin/Apache24"

#Tên máy chủ www.example.com:80

Tên máy chủ localhost

DocumentRoot "$(SRVROOT)/htdocs"

DocumentRoot "c:/Server/data/htdocs/"

DirectoryIndex index.html

DirectoryIndex Index.php Index.html Index.htm

# AllowOverride kiểm soát những lệnh nào có thể được đặt trong tệp .htaccess. # Nó có thể là "Tất cả", "Không" hoặc bất kỳ kết hợp từ khóa nào: # AllowOverride Giới hạn xác thực FileInfo AuthConfig # AllowOverride Không có

# AllowOverride kiểm soát những lệnh nào có thể được đặt trong tệp .htaccess. # Nó có thể là "Tất cả", "Không" hoặc bất kỳ kết hợp từ khóa nào: # AllowOverride Giới hạn xác thực FileInfo AuthConfig # AllowOverride All

#LoadModule rewrite_module mô-đun/mod_rewrite.so

LoadModule rewrite_module mô-đun/mod_rewrite.so

Lưu và đóng tập tin. Tất cả, thiết lập Apache hoàn thành! Bạn có thể tìm thấy mô tả về từng chỉ thị đã thay đổi trên trang này.

Mở dòng lệnh(điều này có thể được thực hiện bằng cách nhấn đồng thời các phím Win + X). Chọn ở đó Windows PowerShell(quản trị viên) và sao chép ở đó:

C:\Server\bin\Apache24\bin\httpd.exe -k cài đặt

Nếu nhận được yêu cầu từ tường lửa dành cho Apache, hãy nhấp vào Cho phép.

Bây giờ hãy nhập vào dòng lệnh:

C:\Server\bin\Apache24\bin\httpd.exe -k bắt đầu

Và nhấn Enter.

Nhập root làm tên người dùng. Để trống trường mật khẩu. Nếu mọi thứ được thực hiện chính xác thì mọi thứ sẽ trông như thế này:

7. Sử dụng máy chủ và sao lưu dữ liệu

Trong danh mục c:\Server\data\htdocs\ tạo thư mục và tập tin, ví dụ:

c:\Server\data\htdocs\test\ajax.php - theo đó, tệp này sẽ có sẵn tại http://localhost/test/ajax.php, v.v.

Để tạo bản sao lưu hoàn chỉnh của tất cả các trang web và cơ sở dữ liệu, chỉ cần sao chép thư mục C:\Máy chủ\dữ liệu\.

Trước khi cập nhật các mô-đun, hãy làm thư mục sao lưu thùng rác- trong trường hợp có vấn đề, bạn có thể dễ dàng quay lại các phiên bản trước.

Tại cài đặt lại server hoặc khi cập nhật cần phải cấu hình lại tập tin cấu hình. Nếu bạn có bản sao của những tệp này, quá trình có thể được tăng tốc đáng kể. Nên sao lưu các tập tin sau:

  • c:\Server\bin\Apache24\conf\httpd.conf
  • c:\Server\bin\mysql-8.0\my.ini
  • c:\Server\bin\PHP\php.ini
  • c:\Server\data\htdocs\phpMyAdmin\config.inc.php

Tất cả các cài đặt được lưu trữ trong đó.

8. Thiết lập PHP bổ sung

PHP hiện nay là một công cụ rất mạnh mẽ, linh hoạt và thân thiện với người dùng. TRÊN máy tính cục bộ nó có thể được sử dụng để giải quyết nhiều vấn đề khác nhau không nhất thiết liên quan đến việc tạo ra các trang Web. Khi giải quyết các vấn đề đặc biệt, bạn có thể gặp phải các hạn chế được đặt trong cài đặt. Các cài đặt này được chứa trong tệp php.ini (c:\Server\bin\PHP\php.ini. Hãy xem xét một số cài đặt trong số chúng:

Bộ nhớ_limit = 128M

bộ số tiền tối đa bộ nhớ mà tập lệnh có thể sử dụng

Post_max_size = 8M

đặt lượng dữ liệu tối đa sẽ được chấp nhận khi gửi phương thức ĐĂNG

;default_charset = "UTF-8"

đặt mã hóa (theo mặc định, dòng được nhận xét)

Tải lên_max_filesize = 2M

kích thước tối đa của một tập tin được tải lên máy chủ. Ban đầu cài đặt rất kích thước nhỏ- chỉ có hai megabyte. Ví dụ: khi tải cơ sở dữ liệu vào phpMyAdmin, bạn sẽ không thể tải lên tệp lớn hơn 2 megabyte cho đến khi mục cài đặt này được thay đổi.

Max_file_uploads = 20

số lượng tệp tối đa để tải lên cùng một lúc

Max_execution_time = 30

thời gian thực hiện tối đa cho một tập lệnh

Việc thay đổi các cài đặt này là hoàn toàn tùy chọn, nhưng việc biết về chúng sẽ rất hữu ích.

9. Cài đặt bổ sung cho phpMyAdmin

Chúng tôi đã định cấu hình phpMyAdmin và đối với hầu hết mọi người, chức năng cơ bản là đủ. Tuy nhiên, trên trang chủ phpMyAdmin có dòng chữ: “Các tính năng bổ sung của phpMyAdmin chưa được định cấu hình đầy đủ, một số chức năng đã bị tắt.”

Các tính năng mới là:

  • hiển thị mối quan hệ giữa các bảng (có liên quan);
  • thêm thông tin về các bảng (bắt đầu từ phiên bản 2.3.0, bạn có thể mô tả trong bảng đặc biệt 'table_info' cột nào sẽ được hiển thị trong chú giải công cụ khi di chuyển con trỏ qua phím liên quan);
  • tạo sơ đồ PDF (bắt đầu từ phiên bản 2.3.0 bạn có thể tạo trang PDF, hiển thị mối quan hệ giữa các bảng của bạn);
  • hiển thị nhận xét cột (kể từ phiên bản 2.3.0, bạn có thể đưa ra nhận xét mô tả từng cột cho mỗi bảng. Và chúng sẽ hiển thị trong " xem trướcđể in". Kể từ phiên bản 2.5.0, các bình luận được sử dụng trên trang riêng bảng và trong chế độ xem, xuất hiện dưới dạng chú giải công cụ phía trên các cột (bảng thuộc tính) hoặc được nhúng trong tiêu đề bảng ở chế độ xem. Chúng cũng có thể được hiển thị trong bảng kết xuất);
  • tạo dấu trang (kể từ phiên bản 2.2.0, phpMyAdmin cho phép người dùng đánh dấu các truy vấn. Điều này có thể hữu ích cho các truy vấn được sử dụng thường xuyên);
  • lịch sử truy vấn SQL (bắt đầu từ phiên bản 2.5.0 bạn có thể lưu lịch sử của tất cả truy vấn SQL, được tạo thông qua giao diện phpMyAdmin);
  • nhà thiết kế (bắt đầu từ phiên bản 2.10.0, công cụ Designer đã có sẵn; nó cho phép bạn quản lý trực quan mối quan hệ giữa các bảng);
  • thông tin về các bảng được sử dụng gần đây;
  • tùy chỉnh giao diện các bảng thường xuyên sử dụng;
  • theo dõi (bắt đầu từ phiên bản 3.3.x, đã có sẵn cơ chế theo dõi. Nó giúp bạn theo dõi mọi Lệnh SQL, được thực thi bởi phpMyAdmin. Hỗ trợ ghi lại công việc với dữ liệu và ghi lại các lệnh. Sau khi được bật, bạn sẽ có thể tạo các phiên bản của bảng);
  • cài đặt người dùng (bắt đầu từ phiên bản 3.4.x, phpMyAdmin cho phép người dùng đặt hầu hết các cài đặt và lưu chúng vào cơ sở dữ liệu);
  • menu tùy chỉnh (bắt đầu từ phiên bản 4.1.0, bạn có thể tạo các nhóm người dùng chỉ có quyền truy cập vào các mục menu được chỉ định. Một người dùng có thể được chỉ định vào một nhóm và sẽ chỉ nhìn thấy các mục menu có sẵn cho nhóm của họ);
  • ẩn/hiện các mục điều hướng (bắt đầu từ phiên bản 4.1.0 bạn có thể ẩn/hiện các mục trong cây điều hướng).
  • và những người khác

Bây giờ chúng ta sẽ cấu hình những thứ này Tính năng bổ sungđầy đủ. Đi tới liên kết http://localhost/phpmyadmin/chk_rel.php và nhấp vào "Tạo cơ sở dữ liệu". Sau này, tất cả các tính năng mới sẽ được kích hoạt.

Một số ảnh chụp màn hình về các tính năng mới:

1) Nhà thiết kế

2) Theo dõi

10. Lắp đặt phích cắm thư

Trong thư mục C:\Server\bin\, tạo danh mục mới với tên Sendmail. Bây giờ trong thư mục này tạo một file sendmail.php với nội dung sau:

#!/usr/bin/env php

Mở file cấu hình PHP, nó nằm ở đây C:\Server\bin\PHP\php.ini. Và thêm một dòng ở đó:

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

Lưu tập tin và khởi động lại máy chủ. Tuyệt vời, bây giờ tất cả email đã gửi sẽ được lưu vào thư mục C:\Server\bin\Sendmail\email\

Thư sẽ có phần mở rộng .eml và chúng có thể được mở, ví dụ, bằng chương trình Thunderbird. Hoặc một trình soạn thảo văn bản thông thường.

11. Thêm thư mục PHP vào PATH trên Windows

Nếu điều này không được thực hiện, có thể có vấn đề với một số mô-đun PHP, bao gồm php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll và php_pgsql.dll. Ít nhất, mỗi khi máy chủ khởi động, thông tin sau sẽ xuất hiện trong nhật ký:

Cảnh báo PHP: Khởi động PHP: Không thể tải thư viện động "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd.\r\n trong Không xác định trên dòng 0 PHP Cảnh báo: Khởi động PHP: Không thể tải thư viện động "C:\\Server\\bin\\PHP\\ext\\php_intl.dll " - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n trong Không xác định trên dòng 0 Cảnh báo PHP: Khởi động PHP: Không thể tải thư viện động " C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r \n trong Không xác định trên dòng 0 PHP Cảnh báo: Khởi động PHP: Không thể tải thư viện động "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf \xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n trong Không xác định trên dòng 0 PHP Cảnh báo: Khởi động PHP: Không thể tải thư viện động "C:\\Server\\bin\\PHP\ \ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n trong Không xác định trên dòng 0

Để tránh những cảnh báo này, bạn cần thêm đường dẫn tới PHP vào các biến môi trường hệ thống của mình.

Nhấp vào nút Bắt đầu (hoặc bất cứ thứ gì nó được gọi trên Windows 10?), bắt đầu nhập " Thay đổi các biến môi trường hệ thống» và mở cửa sổ cài đặt tương ứng.

Ở đó nhấp vào " Biến môi trường»:

Trong cửa sổ " Biến hệ thống» tìm và bấm vào Con đường, sau đó nhấn vào " Thay đổi»:

Di chuyển mục lên trên cùng:

Đóng tất cả các cửa sổ và lưu các thay đổi của bạn.

Khởi động lại máy chủ.

12. Bị treo, lưu lượng truy cập chậm và/hoặc lỗi máy chủ AcceptEx không đồng bộ không thành công

Nếu máy chủ của bạn bị treo ngay cả khi không tải - nó không hiển thị các trang web cho đến khi được khởi động lại và trong nhật ký máy chủ có lỗi Asynchronous AcceptEx failed:

AH00455: Đã định cấu hình Apache/2.4.9 (Win64) PHP/5.5.13 -- tiếp tục hoạt động bình thường AH00456: Máy chủ Apache Lounge VC11 được xây dựng: ngày 16 tháng 3 năm 2014 12:42:59 AH00094: Dòng lệnh: "c:\\Server\\ bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: Parent: Đã tạo tiến trình con 4952 AH00354: Child: Bắt đầu 64 luồng công việc. (OS 64) Tên mạng được chỉ định không còn khả dụng. : AH00341: winnt_accept: AcceptEx không đồng bộ không thành công. (OS 64) Tên mạng được chỉ định không còn khả dụng. : AH00341: winnt_accept: AcceptEx không đồng bộ không thành công. (OS 64) Tên mạng được chỉ định không còn khả dụng. : AH00341: winnt_accept: AcceptEx không đồng bộ không thành công. (OS 64) Tên mạng được chỉ định không còn khả dụng. : AH00341: winnt_accept: AcceptEx không đồng bộ không thành công. (OS 64) Tên mạng được chỉ định không còn khả dụng. : AH00341: winnt_accept: AcceptEx không đồng bộ không thành công. (OS 64) Tên mạng được chỉ định không còn khả dụng. : AH00341: winnt_accept: AcceptEx không đồng bộ không thành công.

Sau đó thêm vào tệp cấu hình Apache:

AcceptFilter http không có AcceptFilter https không có EnableSendfile tắt EnableMMAP tắt

13. Cấu hình cURL trong máy chủ web Apache trên Windows

Nếu bạn không biết cURL là gì thì bạn không cần nó. Những thứ kia. Hãy bỏ qua bước này.

cURL là một tiện ích bảng điều khiển cho phép bạn trao đổi dữ liệu với các máy chủ từ xa bằng cách sử dụng một số lượng giao thức rất lớn. cURL có thể sử dụng cookie và hỗ trợ xác thực. Nếu một ứng dụng web yêu cầu cURL thì điều này phải được chỉ định trong phần phụ thuộc. Nhiều ứng dụng phổ biến không yêu cầu cURL, ví dụ phpMyAdmin và WordPress không cần cấu hình cURL.

Nếu cURL không được cấu hình đúng, bạn sẽ gặp lỗi:

Lỗi nghiêm trọng: Gọi hàm không xác định Curl_multi_init() trong ...

lỗi cuộn tròn: Sự cố chứng chỉ SSL: không thể lấy chứng chỉ nhà phát hành địa phương

Để làm cho cURL hoạt động trong Apache trên Windows, bạn cần:

1) Đảm bảo thêm thư mục PHP vào PATH (biến môi trường hệ thống). Cách thực hiện việc này đã được giải thích ngay ở trên:

2) Trong hồ sơ C:\Server\bin\PHP\php.ini dòng này không được chú thích phần mở rộng=curl

Điều này thường không bắt buộc, nhưng bạn có thể tạo một bản sao lưu của các tệp nhị phân (có thể thực thi) của máy chủ nếu muốn. Tất cả các tập tin này đều nằm trong thư mục C:\Máy chủ\bin\. Đây là Apache, MySQL và PHP - tức là. các chương trình chịu trách nhiệm về hoạt động của máy chủ nhưng chúng tôi có thể tải xuống từ các trang web chính thức và định cấu hình lại bất kỳ lúc nào.

Nếu bạn muốn tạo một bản sao lưu của chúng (ví dụ: trước khi nâng cấp máy chủ), hãy dừng dịch vụ:

C:\Server\bin\Apache24\bin\httpd.exe -k dừng net dừng mysql

Và sao chép thư mục vào nơi an toàn C:\Máy chủ\bin\.

Nhân tiện, bạn có thể sao chép toàn bộ máy chủ, tức là. thư mục C:\Máy chủ\– trong trường hợp này, bạn sẽ đồng thời nhận được một bản sao lưu của cả tệp thực thi và dữ liệu (cơ sở dữ liệu, trang web).

Khi quá trình sao chép hoàn tất, hãy khởi động lại dịch vụ:

C:\Server\bin\Apache24\bin\httpd.exe -k bắt đầu khởi động mạng mysql

15. Cập nhật máy chủ

Tất cả các thành phần tạo nên máy chủ web đang được phát triển tích cực và các phiên bản mới thường xuyên được phát hành. Khi một phiên bản mới được phát hành, bạn có thể cập nhật một thành phần (ví dụ: PHP) hoặc nhiều thành phần cùng một lúc.

Xóa một máy chủ

Nếu bạn không cần máy chủ nữa, hoặc bạn muốn cài đặt lại, hãy dừng các dịch vụ và xóa chúng khỏi chế độ tự khởi động bằng cách thực hiện tuần tự trên dòng lệnh:

C:\Server\bin\Apache24\bin\httpd.exe -k dừng c:\Server\bin\Apache24\bin\httpd.exe -k gỡ cài đặt net stop mysql c:\Server\bin\mysql-8.0\bin\ mysqld --remove

Xóa các tập tin máy chủ; để thực hiện việc này, hãy xóa thư mục C:\Máy chủ\. Cảnh báo, thao tác này sẽ xóa tất cả cơ sở dữ liệu và trang web của bạn.

Cách bảo vệ máy chủ web Apache của bạn khỏi bị hack trên Windows

Với PHP (có thể lựa chọn phiên bản), với MySQL và phpMyAdmin. Trang web này được lưu trữ chính xác trên đó: hỗ trợ kỹ thuật đáp ứng và đủ điều kiện, cài đặt WordPress và các ứng dụng web khác chỉ bằng một cú nhấp chuột, như một món quà khi thanh toán một năm, chuyển trang miễn phí. Khi đặt hosting + miễn phí 1 tháng (mã khuyến mãi b33e0e2f).

Đang chuẩn bị thư mục

Tôi thực sự không thích có mọi thứ xung quanh, vì vậy trước tiên hãy tạo các thư mục chứa các chương trình và trang web của chúng tôi.
Tạo thư mục “Server” trên ổ “C:\” (hoặc bất cứ nơi nào thuận tiện hơn cho bạn):
C:\Máy chủ\
Hãy tạo 2 thư mục trong đó:
C:\Server\web - đây là thư mục chứa các chương trình
C:\Server\domains – và các trang web của chúng tôi sẽ nằm trong thư mục này
Vì vậy, trong thư mục \web\ chúng ta sẽ tạo 3 thư mục cho apache, php, mysql:
C:\Server\web\apache\
C:\Server\web\php\
C:\Server\web\mysql\
Tiếp theo, vào thư mục domains và tạo thư mục \localhost\
C:\Server\domain\localhost\
Bên trong thư mục chúng ta sẽ có 2 thư mục con: public_html – dành cho các tập tin trang web; logs – dành cho các tệp văn bản ghi lại “ai” đã truy cập trang web và những lỗi nào xuất hiện trong hoạt động của trang web.
C:\Server\domain\localhost\public_html\
C:\Server\domain\localhost\logs\
Điều này kết thúc cấu trúc thư mục, hãy chuyển sang thiết lập Apache.

thiết lập Apache

Để cài đặt Apache, chúng ta cần có chính Apache (Cap). Vì chúng tôi có Windows 8.1 x64 nên chúng tôi sẽ cài đặt Apache x64.
Để tải về, hãy theo liên kết:
www.apachelounge.com/download/win64
và tải xuống “httpd-2.4.6-win64.zip”. Chúng tôi cũng cần “Gói phân phối lại Microsoft Visual C++ 2010 (x64)” để hoạt động bình thường. Để thực hiện việc này, hãy tải xuống từ liên kết này:
www.microsoft.com/ru-ru/download/details.aspx?id=14632
và cài đặt.
Sau khi kho lưu trữ của chúng tôi được tải xuống từ Apache, hãy mở nó. Sau khi mở kho lưu trữ, chúng ta sẽ thấy thư mục “Apache24”, hãy vào đó. Nhiều thư mục và file chương trình sẽ hiện ra, bạn giải nén mọi thứ vào thư mục đã chuẩn bị trước đó:
C:\Server\web\apache\
Nó sẽ giống như thế này:
C:\Server\web\apache\bin\
C:\Server\web\apache\cgi-bin\
C:\Server\web\apache\conf\
C:\Server\web\apache\error\
C:\Server\web\apache\htdocs\
C:\Server\web\apache\icons\
C:\Server\web\apache\include\
C:\Server\web\apache\lib\
C:\Server\web\apache\log\
C:\Server\web\apache\manual\
C:\Server\web\apache\mô-đun\
Chúng tôi không cần các thư mục như \cgi-bin\, \htdocs\, \icons\ và \manual\ - bạn có thể xóa chúng.
Chúng ta hãy đi đến thư mục:
C:\Server\web\apache\conf\
Và mở tệp cấu hình Apache – “httpd.conf” bằng bất kỳ trình soạn thảo văn bản nào. Trong tệp này, mỗi dòng chứa các lệnh để định cấu hình Apache và các dòng bắt đầu bằng dấu # (băm) là các nhận xét và giải thích. Hãy bắt đầu thiết lập:

Tệp cấu hình Apache

#chỉ thị Apache
ServerRoot “C:/Server/web/apache”
# Nghe trên cổng IP cục bộ (80 theo tiêu chuẩn)
Nghe 127.0.0.1:80
# tiếp theo chúng tôi sẽ bao gồm các thư viện mở rộng cho Apache
LoadModule rewrite_module mô-đun/mod_rewrite.so
LoadModule php5_module "C:/Server/web/php/php5apache2_4.dll"
# chúng tôi nói với Apache rằng các tệp có phần mở rộng php phải được coi là tập lệnh php
Ứng dụng AddHandler/x-httpd-php .php
# chỉ định vị trí của tệp cài đặt php
PHPIniDir “C:/Server/web/php”
# thay đổi tên máy chủ
Tên máy chủ 127.0.0.1:80
# thay đổi quyền truy cập thư mục

Tùy chọn Bao gồm Chỉ mục FollowSymLinks
Cho phépGhi đè Tất cả
Cho phép từ tất cả


# thư mục chứa các trang web của chúng tôi
DocumentRoot “C:/Server/domain”
# tệp chỉ mục, theo mức độ ưu tiên.

DirectoryIndex Index.php Index.html Index.htm Index.shtml

# thư mục chứa file nhật ký
ErrorLog “C:/Server/domains/logs/error.log”
Nhật ký tùy chỉnh “C:/Server/domains/logs/access.log”
# thêm bí danh cho phpMyAdmin và sửa bí danh cho cgi

Bí danh /pma “C:/Server/domains/phpMyAdmin”
ScriptAlias ​​​​/cgi-bin/ “C:/Server/web/apache/cgi-bin/”

# sửa đường dẫn cho cgi

AllowOverride Không có
Tùy chọn Không có
Yêu cầu tất cả được cấp

# loại tập tin


Văn bản AddType/html .shtml
AddOutputFilter BAO GỒM .shtml
Ứng dụng AddType/x-httpd-php .php
Ứng dụng AddType/x-httpd-php-source .phps

#Các cấu hình khác:



BrowserMatch "MSIE 10.0;" xấu_DNT


Yêu cầu tiêu đề bỏ đặt DNT env=bad_DNT

Việc này hoàn tất việc cấu hình httpd.conf.
Các cấu hình bổ sung đã được bao gồm trong tệp cấu hình Apache httpd.conf:
Bao gồm conf/extra/httpd-mpm.conf
Bao gồm conf/extra/httpd-autoindex.conf
Bao gồm conf/extra/httpd-vhosts.conf
Bao gồm conf/extra/httpd-manual.conf
Bao gồm conf/extra/httpd-default.conf
Hãy mở tập tin “C:\Server\web\apache\conf\extra\httpd-mpm.conf” và nhanh chóng xem qua nó.
# chỉ ra nơi chúng tôi sẽ lưu trữ tệp pid:

PidFile “C:/Server/web/apache/logs/httpd.pid”

Chúng tôi giữ nguyên các thông số còn lại. Hãy mở tệp “httpd-autoindex.conf”, chỉ thay đổi các dòng có đường dẫn ở đó:
Bí danh /icons/ "c:/Server/web/apache/icons/"

Tùy chọn Chỉ mục MultiViews
AllowOverride Không có
Yêu cầu tất cả được cấp

Tệp máy chủ Apache

# lấy tên miền localhost làm ví dụ

DocumentRoot "C:/Server/domain/localhost/public_html"
Tên máy chủ localhost
ErrorLog "C:/Server/domains/localhost/logs/error.log"
CustomLog "C:/Server/domains/localhost/logs/access.log" chung


# thêm phpMyAdmin cho tương lai (đừng quên tạo thư mục)

DocumentRoot "C:/Server/domain/phpmyadmin/public_html"
Tên máy chủ localhost
ErrorLog "C:/Server/domains/phpmyadmin/logs/error.log"
CustomLog "C:/Server/domains/phpmyadmin/logs/access.log" phổ biến

Điều này kết thúc việc chỉnh sửa tập tin. Tiếp theo, trong các tệp còn lại, chúng tôi chỉ chỉnh sửa đường dẫn:
Tệp "httpd-manual.conf":
AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/ Máy chủ/web/apache/thủ công$1"

Không có thay đổi nào được thực hiện đối với tệp “httpd-default.conf”. Điều này hoàn thành việc thiết lập cấu hình Apache.

Thiết lập PHP

Vì chúng tôi đã cài đặt và định cấu hình Windows 8.1 x64 và Apache x64 nên php phải là x64.
Chúng ta hãy đi đến trang web:

và tải xuống kho lưu trữ php của phiên bản mới nhất. Chúng tôi cần php làm mô-đun, tức là Để thực hiện việc này, hãy tải xuống Thread Safe. Sau khi tải xuống kho lưu trữ, hãy mở nó và chuyển nội dung vào thư mục “C:\Server\web\php\”. Hãy tạo hai thư mục trống “tmp” và “upload”. Tiếp theo, trong thư mục này, hãy tìm tệp “php.ini-development” và đổi tên thành “php.ini”. Mở tệp trong trình soạn thảo văn bản và thay đổi chỉ thị (dòng nhận xét trong tệp bắt đầu bằng dấu chấm phẩy).

Thiết lập php.ini

short_open_tag=Bật
zlib.output_compression = Bật
post_max_size = 64M
include_path = ".;C:\Server\web\php\includes"
Extension_dir = "C:/Server/web/php/ext"
upload_tmp_dir = "C:/Server/web/php/tải lên"
tải lên_max_filesize = 64M
tiện ích mở rộng=php_bz2.dll
tiện ích mở rộng=php_curl.dll
tiện ích mở rộng=php_gd2.dll
tiện ích mở rộng=php_mbstring.dll
tiện ích mở rộng=php_mysql.dll
tiện ích mở rộng=php_mysqli.dll
tiện ích mở rộng=php_pdo_mysql.dll
tiện ích mở rộng=php_sockets.dll
tiện ích mở rộng=php_sqlite3.dll
; trong phần chúng tôi chỉ ra múi giờ của máy chủ của chúng tôi (http://php.net/date.timezone)
date.timezone = "Châu Á/Yekaterinburg"
session.save_path = "Từ:/Server/web/php/tmp/"


Điều này hoàn thành việc cấu hình php.

Thiết lập MySQL

Chúng tôi cài đặt MySQL x64 làm ổ cắm trong Windows. Tải xuống kho lưu trữ với phiên bản mới nhất của MySQL x64:
dev.mysql.com/downloads/mysql
Ở cuối trang, chúng tôi tìm thấy Windows (x86, 64-bit), ZIP Archive và nhấp vào nút “Tải xuống”. Bạn sẽ được chuyển hướng đến trang đăng ký trên trang web. Nhấp vào ở cuối trang “Không, cảm ơn, chỉ bắt đầu tải xuống của tôi” để bắt đầu tải xuống kho lưu trữ MySQL. Sau khi tải xuống kho lưu trữ, hãy mở nó và chuyển tất cả nội dung của thư mục sang “C:\Server\web\mysql\”
Bây giờ hãy mở tệp cài đặt MySQL – “C:\Server\web\mysql\my-default.ini”. Chúng tôi xóa tất cả nội dung của nó và nhập dữ liệu của chúng tôi vào đó.
cổng=3306
máy chủ = 127.0.0.1
cổng=3306
địa chỉ liên kết=127.0.0.1
kích hoạt-tên-ống
Dựair="C:/Server/web/mysql/"
datadir="C:/Server/web/mysql/data/"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Đó là tất cả. Trong tệp cấu hình, chúng tôi đã chỉ ra rằng các tập lệnh có thể truy cập máy chủ thông qua IP cục bộ và qua kết nối ổ cắm.
Chỉ còn một chút việc phải làm thôi. Hãy thêm đường dẫn đến Apache và MySQL vào biến hệ thống "PATH", để làm điều này:
  1. Kéo con trỏ chuột vào góc dưới bên phải màn hình
  2. Bấm vào biểu tượng Tìm kiếm và nhập: bảng điều khiển
  3. Chọn Hệ thống-> Nâng cao
  4. Chọn Biến môi trường, từ menu Biến hệ thống, tìm biến PATH và nhấp vào biến đó.
  5. Nhập đường dẫn đến Apache và MySQL:
;C:\Server\web\apache\bin;C:\Server\web\mysql\bin
Tiếp theo, chúng ta sẽ cài đặt các dịch vụ Apache và MySQL. Để thực hiện việc này, hãy sử dụng phím tắt “Win ​​+ X”, menu thả xuống sẽ xuất hiện ở góc dưới bên trái. Chọn "Dấu nhắc lệnh (Quản trị viên)".
Trên dòng lệnh, nhập để cài đặt Apache:
cài đặt httpd –k
để cài đặt MySQL:
mysqld.exe --cài đặt MySQL --defaults-file=”C:\Server\web\mysql\my-default.ini”
Hãy đặt mật khẩu cho người dùng MySQL. Để thực hiện việc này, hãy khởi động dịch vụ MySQL bằng lệnh:
NET khởi động MySQL
Sau khi dịch vụ đã bắt đầu, hãy đặt mật khẩu:
mysqladmin –u mật khẩu gốc YourPassword
Chúng tôi đã đăng ký hai trang web trong tệp “httpd-vhosts.conf”; để trình duyệt có thể nhìn thấy chúng, tên của các trang web phải được thêm vào tệp “hosts”. Chúng ta hãy đi đến thư mục:
C:\Windows\System32\Driver\etc\
mở tệp “máy chủ” bằng bất kỳ trình soạn thảo văn bản nào (chạy với tư cách quản trị viên) và thêm vào cuối tệp:
127.0.0.1 máy chủ cục bộ
127.0.0.1 phpmyadmin
Lưu các tập tin.
Để thuận tiện cho việc khởi động và dừng các dịch vụ Apache và MySQL, chúng tôi sẽ tạo các tệp start-server.bat và stop-server.bat.
Để thực hiện việc này, hãy đi tới thư mục “C:\Server\” và tạo hai tệp này.
Nội dung của “start-server.bat”:
@echo tắt
NET khởi động Apache2.4
NET khởi động MySQL
Nội dung của “stop-server.bat”:
@echo tắt
NET dừng Apache2.4
NET dừng MySQL
Quá trình thiết lập Apache, PHP và MySQL hiện đã hoàn tất. Để kiểm tra máy chủ, chúng ta hãy tạo một tệp "index.php" với nội dung trong thư mục "C:\Server\domains\localhost\public_html":

Tiếp theo, hãy khởi động máy chủ của chúng tôi; để thực hiện việc này, hãy chạy “start-server.bat” với tư cách quản trị viên. Khi máy chủ đã khởi động, hãy mở trình duyệt của bạn và nhập “localhost” vào thanh địa chỉ.
Trang thông tin PHP sẽ xuất hiện.

Trong bài viết này, chúng tôi sẽ hướng dẫn quy trình cài đặt Apache 2.4.x và PHP 5.6.x trên Windows Server 2012/2008 64-bit tiêu chuẩn.

Các tệp nhị phân của Apache Windows Server không có sẵn trong kho lưu trữ ban đầu, buộc chúng tôi phải chuyển sang các bản phân phối của bên thứ ba như apachehaus.com. Tôi đang sử dụng phiên bản httpd-2.4.20-x64-vc11-r2.zip, có thể tải xuống tại đây. Nó được biên dịch với VC++ 2012 (VC11). Đảm bảo máy chủ được cài đặt bằng VC11 64bit. Nếu không, có thể xảy ra lỗi như thiếu các mô-đun cần thiết hoặc Apache sẽ không khởi động. Nó có thể được tải xuống trực tiếp từ máy nhân bản của Microsoft. Các tệp nhị phân PHP có thể được tải xuống từ đây. Tôi đang sử dụng php-5.6.22-Win32-VC11-x64.zip được biên dịch bằng vc11.

Cài đặt Apache

Trước tiên hãy tải xuống phiên bản mới nhất của Apache HTTP Server win32 và giải nén các tệp vào một vị trí thuận tiện như " C:Apache" Nếu Apache được cài đặt trong "C: Program Files Apache2.2", tập lệnh cgi và PHP có thể không tìm thấy đường dẫn tệp chính xác do khoảng trắng trong tên thư mục.

Trong ví dụ này, chúng ta sẽ tạo một thư mục Apache. Sử dụng Notepad, mở tệp httpd.conf. Tệp này nằm trong thư mục con /conf. Xin lưu ý rằng các tệp cấu hình Apache phải sử dụng dấu gạch chéo “/” trong đường dẫn tệp đầy đủ.

Bây giờ bạn có thể thử cài đặt Apache trên Windows7. Mở dấu nhắc lệnh và đi tới thư mục “c:Apache bin” rồi nhập lệnh httpd -k install :

c:Apachebin>httpd -k install Cài đặt dịch vụ "Apache2.4" Dịch vụ "Apache2.4" đã được cài đặt thành công. Đang kiểm tra httpd.conf.... Các lỗi được báo cáo ở đây phải được sửa trước khi dịch vụ có thể được khởi động. httpd: Lỗi cú pháp trên dòng 39 của C:/Apache/conf/httpd.conf: ServerRoot phải là một thư mục hợp lệ

Từ đoạn mã trên, bạn có thể thấy rằng dịch vụ đã được cài đặt nhưng có lỗi. Thư mục gốc của máy chủ phải được sửa trước khi khởi động dịch vụ nếu thư mục cài đặt mặc định đã bị thay đổi ( giá trị mặc định là /Apache2.4). Trong trường hợp này là/Apache:

Xác định SRVROOT "/Apache" ServerRoot "$(SRVROOT)"

Sau đó, nhấp đúp vào tệp thực thi giám sát Máy chủ Apache hoặc thông qua dòng lệnh nhập bắt đầu/dừng/khởi động lại dịch vụ. Ví dụ về các lệnh CMD được đưa ra trong đoạn mã sau:

c:Apachebin>httpd -k start c:Apachebin>httpd -k restart c:Apachebin>httpd -k stop Dịch vụ "Apache2.4" đang dừng. Dịch vụ "Apache2.4" đã dừng.

Nếu bạn nhận được thông báo lỗi (được đưa ra bên dưới) khi khởi động máy chủ Apache PHP Windows, hãy kiểm tra xem quy trình httpd đã chạy chưa, quy trình IIS có đang chạy và đang nghe trên cổng 80 hay không. IIS là máy chủ web mặc định, nó được cấu hình trên cổng 80:

c:Apachebin>httpd -k start (OS 10048)Thông thường chỉ cho phép sử dụng một địa chỉ ổ cắm (giao thức/địa chỉ mạng/cổng). : AH00072: make_sock: không thể liên kết với địa chỉ [::]:80 (OS 10048) Thông thường chỉ được phép sử dụng một lần mỗi địa chỉ ổ cắm (giao thức/địa chỉ mạng/cổng). : AH00072: make_sock: không thể liên kết với địa chỉ 0.0.0.0: 80 AH00451: không có ổ cắm nghe, tắt AH00015: Không thể mở nhật ký

Nếu IIS hiện đang chạy, nó có thể bị tắt thông qua " Quản lý máy chủ" Tại dấu nhắc lệnh, nhập " dịch vụ.msc" Tìm dịch vụ " nền tảng xuất bản web", nhấp đúp vào nó để mở thuộc tính dịch vụ và dừng nó. Để ngăn nó khởi động vào lần khởi động tiếp theo, bạn có thể thay đổi kiểu khởi động thành thủ công. Ngoài ra, nếu Skype được cài đặt trên máy chủ cũng sẽ xung đột với cổng 80.

Sau khi Apache đã được khởi động và tất cả các cài đặt đã được đặt chính xác, khi truy cập http://localhost/ trên bất kỳ trình duyệt nào, một trang http tiêu chuẩn hoặc chỉ một thông báo sẽ được hiển thị Nó hoạt động”.

đang cài đạt PHP

Trước tiên hãy tải xuống các tệp nhị phân PHP và giải nén chúng vào thư mục " C:php" Sau đó đổi tên tệp c:phpphp.ini-development thành php.ini . Mở nó và thay đổi giá trị của một số biến.

Thay đổi giá trị của biến " phần mở rộng_dir" TRÊN " C:phpext" Theo mặc định, nó được nhận xét hoặc đặt thành " /máy lẻ". Bạn cũng có thể kích hoạt các tiện ích mở rộng cần thiết trong php.ini bằng cách xóa “; " ở đầu dòng:

;extension=php_mbstring.dll ;extension=php_exif.dll tiện ích mở rộng=php_mysql.dll tiện ích mở rộng=php_mysqli.dll

Ngoài ra, bạn cần đặt biến session.save_path vào thư mục tệp tạm thời của Windows (nghĩa là C: Nhiệt độ).

Các thư mục PHP và Apache cũng cần được thêm vào cho các đường dẫn biến môi trường. Mở Bảng điều khiển - Hệ thống và bảo mật - Vị trí hệ thống và thêm“;C:php; C:Apachebin " đến cuối danh sách " Biến đường dẫn hệ thống" và nhấp vào "OK" để lưu các thay đổi.

Trước khi khởi động lại dịch vụ Windows Apache, bạn phải chỉ định các mô-đun PHP trong tệp httpd.conf. Thêm các dòng sau vào cuối tệp httpd.conf trong phần " Mô-đun tải»:

LoadModule php5_module "c:/php/php5apache2_4.dll" Ứng dụng AddType/x-httpd-php .php PHPIniDir "C:/php"

Bạn cũng cần thêm " chỉ mục.php" vào phần DirectoryIndex trong tệp httpd.conf, như hiển thị bên dưới:

DirectoryIndex chỉ mục.html chỉ mục.php

Sau khi thực hiện thay đổi, hãy lưu tệp httpd.conf và đóng nó lại.

Dịch vụ Apache phải được khởi động lại để những thay đổi có hiệu lực. Điều này có thể được thực hiện thông qua trình giám sát Dịch vụ Apache hoặc từ dòng lệnh - “httpd -k restart“.

Tạo một trang mới " chỉ mục.php" trong thư mục C: Apachehtdocs và đặt bất kỳ mã php nào vào đó. Ví dụ: tôi đã sử dụng đoạn mã sau:

Sau khi lưu các thay đổi vào tệp, hãy mở http://localhost/index.php trong trình duyệt của bạn và nếu mọi thứ đều ổn, bạn sẽ thấy trang phpinfo.