PHP, là một trong những ngôn ngữ lập trình phố biến nhất để xây dựng trang web động, yêu cầu một môi trường phát triển được cài đặt đúng.. Trong phần này, chúng ta sẽ tìm hiểu chỉ tiết v
Trang 1TRUONG DAI HOC TON DUC THANG KHOA CONG NGHE THONG TIN
ĐẠI HỌC TÔN ĐỨC THẮNG TON DUC THANG UNIVERSITY
BAO CAO BAI TAP LAP TRINH WEB
VA UNG DUNG
HK2, 2023-2024
BAO CAO VE CAI DAT MOI TRUONG LAP TRINH WEB
(APACHE, PHP, MYSQL, PHPMYADMIN) CHO PHAT TRIEN
Trang 2Mục lục Contents
I GIỚI THIẾU
1.APACHE
" 26
IV KÉT LUẬN
02|Page
Trang 3I GIỚI THIỆU
Trong thời đại ngày nay, việc phát triển ứng dụng web đòi hỏi một môi trường lập trình mạnh mẽ và lĩnh hoạt PHP, là một trong những ngôn ngữ lập trình phố biến nhất
để xây dựng trang web động, yêu cầu một môi trường phát triển được cài đặt đúng đắn
dé dam bảo tính ôn định và hiệu suất Trong phần này, chúng ta sẽ tìm hiểu chỉ tiết về cach cai đặt môi trường lập trình bao gồm Apache, PHP, MySQL và phpMyAdmin để bắt đầu phát triển ứng dụng web PHP một cách mạnh mẽ
H CÁCH CÀI ĐẶT VÀ CẤU HÌNH
1.APACHE
Apache là một trong những máy chủ web phô biến nhất trên thé giới, nối tiếng với tính ôn định và khả năng tương thích cao Việc cải đặt Apache là bước quan trọng dé tạo nên môi trường phat trién web PHP day đủ
Downloading Apache for Windows
The Apache HTTP Server Project itself does not provide binary releases of software, only source code Individual committers may provide binary packages as a convenience, but it is not a release deliverable
If you cannot compile the Apache HTTP Server yourself, you can obtain a binary package from numerous binary distributions available on the internet
Popular options for deploying Apache httpd, and, optionally, PHP and MySQL, on Microsoft Windows, include:
Trang 4Dropped StS sewntonds Build with the latest Windows® Visual Studio C++ 2022 aka VS17 Has improvements, fi es and ovr izations over VC16 in areas like Performance,
MemoryManagement, New standard conformance festures, Code generation and Stobility code quality tuning
provements done across different
download see here code generation areas for “speed” And makes more use of latest processors and supported 1W: fase editions (wan? and up) internal features
02 Aug 2023 ầ T \ \ 8 \ 7
Nga 3.4.57 Update Ovenss | VS27 ts backward compatible, That means, a VS16/15/14 module can be used inside the VS+7 binary
—
2022 Be sure you installed latest 14.36.32532 Visual C++ Redistnbutable Visual Studio 2015-2022 : vc redist x64, see Redistributable - oo
mae 0.12.1 Apache 2.4 binaries VS17 Kiém tra théng tin phién ban Visual C+=
Info & Changelo:
che 24.57 Win64 chita Apache —
To be sure that nloed is intact and has not be with = -
45 May2022 lo be sure that ä downloed is intact and has not been tempered with, use PGP, see PGP Signature
1.2 Cau Hinh Apache:
- Sau khi tải xuống Apache, tiép theo ching ta can giải nén thư mục Apache 24 vào
ồ C Mặc định Apache sẽ được cài đặt lên ô C Trong trường hợp cài đặt Apache trên một phân vùng khác, chúng ta cần câu hình lại giá trị DocumentRoot trong file http- vhost.conf hoặc file sites-enable.conf (với apache2) Trong bài viết này chúng ta sẽ tìm hiểu cách cài đặt trực tiếp trên ô C theo mặc định để đảm bảo tính đơn giản, dễ hiểu và dễ thao tác
04|Page
Trang 5Name Apache24 _ CC, PerfLogs Trưng Program Files
Trang 6New Volume (E:)
= New Volume (E:)
ũ dbmmanage.pl EẾẾ htcacheclean.exe
Application exten
PL File Application Application Application
Application exten Application exten Application exten Application exten Application exten Application exten
- Khi khởi chạy Apache thi một cửa số Terminal đồng thời sẽ nôi lên, có thể chúng ta
sé thay thông báo như trong hình
so x =
httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe89::169a:3
'serverName' directive globally to suppress this message
- Day chi là một cảnh báo vi ServerName chưa được cầu hình đúng Chúng ta có thé fix 161 nay bang cach gan g14 trị cho ServerName trong file C:\Apache24\conf\ httpd.conf:
06|Page
Trang 8a Edit View
Fs
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed This address appears on some server-generated pages, such
# as error documents e.g admin@your-domain.com
ở
ServerAdmin admin@example com
ServerName gives the name and port that the server uses to identify itself
This can often be determined automatically, but we recommend you specify
it explicitly to prevent problems during startup
If _vour host doesn't have a registered DNS name, enter its IP address here
# Deny access to the entirety of your server's filesystem You must
# explicitly permit access to web content directories in other
# <Directory> blocks below
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
Trang 9II Edit View
#
z
# ServerAdmin: Your address, where problems with the server should be
# e-mailed This address appears on some server-generated pages, such
# as error documents e.g admin@your-domain.com
#
ServerAdmin admin@example com
#
# ServerName gives the name and port that the server uses to identify itself
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup
# Deny access to the entirety of your server's filesystem You must
# explicitly permit access to web content directories in other
# <Directory> blocks below
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below
- Sau khi thực hiện các chỉnh sửa như trên, chúng ta khởi chạy lại Apache bằng cách tắt cửa số Terminal httpd.exe Chúng ta khởi chạy lại Apache và lỗi trên sẽ không còn nữa Sau khi đã làm các bước trên, chúng ta sẽ thử truy cập và xem Apache đã cầu hình thành công chưa bằng cách truy cập vào http:/1ocalhost để kiếm tra Đây là màn hỉnh khi mà chúng ta truy cập thành công
09|Page
Trang 10It works!
- Trong file httpd.conf ta tiép tục sửa các mục sau:
Sua dong #LoadModule rewrite module modules/mod_rewrite.so -> LoadModule rewrite _ module modules/mod_rewrite.so
httpd.conf
II Edit View
#LoadModule proxy_http2_module modules/mod_proxy_http2 so
#LoadModule proxy_scgi_ module modules/mod_proxy_scgi.so
#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule remoteip module modules/mod_remoteip.so
#LoadModule request_module modules/mod_request.so
#LOadOdu16 r*'eqL1fi6OUL_ ftOdU16 ftÖOdU16S/HOU _f*eqL1ff6OUL SC
LoadModule rewrite_module modules/mod_rewrite.so
#1 nadMaodulea cad madule moaduleac/moad cod co
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie module modules/mod_session_cookie.so
#LoadModule session_crypto_module modules/mod_session_crypto.so
i
# AllowOverride controls what directives may be placed in -htaccess files
# It can be "All", "None", OR any combination of the keywords:
# AllowOverride Filelnfo AuthConfig Limit
#
AllowOverride None
- Thanh:
# AllowOverride controls what directives may be placed in -htaccess files
# It can be "All", "None", OR any combination of the keywords:
# AllowOverride Filelnfo AuthConfig Limit
010| Page
Trang 11Possible values for the Options directive are "None", "All",
or any combination of:
Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
Note that "MultiViews” must be named *explicitly* - “Options All"
doesn't give it to you
The Options directive is both complicated and important Please see
# AllowOverride controls what directives may be placed in htaccess files
# It can be "All", “None”, or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
Trang 12sử dụng Terminal như trong hướng dẫn các bạn nên có thêm một bước chọn lại cửa số dong lệnh như sau:
012|Page
Trang 13Microsoft windows [Version 10.6.22621.2134] Pe lea tT ei | en Perth el
(c) Microsoft Corporation All rights reserved
Command Prompt ft + C:\Users\Levan>
baa uC] Ctrl+Shift+3 Fic Settings Ctrl,
Ÿ#? Command Palette Ctrl+Shift+P
Microsoft Windows [Version 18.6.22621.2134]
Cc) Microsoft Corporation ALL rights reserved
C:\Users\Levan>cd C:\Apache24\bin
C:\Apache2d\bin>httpd -k install
Installing the 'Apache2.u' service
The 'Apache2.4' service is successfully installed
Testing httpd.conf
Errors reported here must be corrected before the service can be started
COS 16848)Only one usage of each socket address (protocoL/network address/port) is normally permitted AH86972: make_
sock: could not bind to address [::]:80
COS 10848)Only one usage of each socket dress (protocol/network address/port) is normally permitted : AH@0072: make_
sock: could not bind to address 0.8.6.0:80
AH@8451; no Listening sockets available, shutting down
AH688 Unable to open Logs
Trang 142 PHP
PHP là một ngôn ngữ lập trình server-side mạnh mẽ, được sử dụng rộng rãi để xây dựng trang web động và ứng đụng web Đề tích hợp PHP vào môi trường phát triển, chúng ta cân cài đặt và câu hình nó kết hợp với Apache
MySQL 8/31/2023 6:44 AN File folder
PerfLogs
2.2 Cầu Hình Apache để Hỗ Trợ PHP:
- Sau khi giải nén PHP chung ta can tao file cau hinh php.ini G trong thu myc C:\PHP chúng ta có thé thay file php.ini-production, ở đây ta nên copy file này và đối tên nó thanh php.ini
014| Page
Trang 15Name Date modified yr
Windows Batch File
và sử dụng chúng theo hướng dẫn dưới đây
015|Page
Trang 16mod_wasm For running WebAssembly binaries
© mod wasm-@.12.1-win64-VS17.z1p info @3 Jul ‘23 10.525K
mod_qos Quality Of Service module, is able to protect your server from various kinds of malicious access or attacks like slowloris, DDos
@ mod gos-11.74-win64-vsSi7.zip info @3 Jun ‘23 1.094K sles
mod_fcgid FastCGI ASF module iline @ mod fcgid-2.3.10-win6é4-vsSi17.zip info @8 Nov ‘22 45K
ads
your mod_security
ation Application firewall, intrusion detection and prevention engine
Ì @ mod security-2.9.7-win64-VS17.zip info @9 Jan "23 648K
mod_xsendfile Processes X-SENDFILE headers registered by the original output handler
It is useful for processing script-output of e.g php, peri or any cgi
he costs, ee ee a ee ee er oe a Am Xe 1n
- Giải nén file vừa tải xuống và copy file mod_ fcgid.so vào thư mục C:\Apache24\ modules
016| Page
Trang 17BB mod _file_cache.so 8/30/2023 11:42 PM SO File
in} mod _filter.so 8/30/2023 11:42 PN SO File
Trang 19File Edit View
#
# Possible values for the 0ptions đirective are "None”, “All”
# on any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
A
Note that "MultiViews” must be named *explici - “Options All"
doesn't give it to you
The Options directive is both complicated and important Please see
http://httpd.apache.org/docs/2.4/mod/core.html#options
L2 le
#
# AllowOverride controls what directives may be placed in htaccess files
# It can be "A11 "None", or any combination of the keywords:
Date modified ype Ti) Edit Viaw index.html 42 PM Mic ít Edge H TU
Trang 20Configuration bcmath
3 MYSQL
MySQL la m6t hệ quản trị cơ sở dữ liệu mạnh mẽ, thường được sử dụng trong các ứng dung web Cai dat MySQL là bước quan trọng đề có thê lưu trữ và quản lý đữ liệu cho ứng dụng web của bạn
3.1 Cài Đặt MySQL:
- Tải MySQL từ trang chinh thire (https://dev.mysql.com/downloads/mysql/) và thực hiện quá trình cài đặt
020|Page
Trang 21
© MySQL Community Downloads
< MySQL Community Server
General Availability (GA) Releases
MySQL Community Server 8.1.0 Innovation
'Windows (x86, 64-bit), ZIP Archive
Debug Binaries & Test Suite
Privacy / Do Not Sell My Info | Terms of Use | Trademark Policy | Cookie Preferences
- Sau khi đã có file nén bộ cài MySQL chúng ta tiễn hành giải nén nó vào ô C và đôi tên nó thanh MySQL
021| Page
Trang 22Name Date modified Type
Ta = ` @™ > ThisPC >» Local Disk(C:) » MySQL
Organize New folder
Trang 23C:\Users\levan>C:\MyS QL\bin\mysqld install
C:\Users\levan>net start mysql
EM Adminstrator: Command Pro
Microsoft Windows [Version 10.6.22621.2134]
(c) Microsoft Corporatio ALL rights reserved
C:\Users\Levan>C:\MySQL\bin\mysqld initiaLize-insecure user=root
Ð ld install
essfully installed
cee eee
is starting MySQL service was started successfully
C:\Users\Levan>
- Sau khi thực hiện các bước trên chúng ta sẽ thay thư mục C:V\MySQLAdata được tạo thành công Và MySQL cũng sẽ tự động khởi chạy khi khởi động Windows
- Chú ý, trong một số trường hợp chúng ta có thê gặp phải lỗi như sau:
[ERROR] InnoDB: Operating system error number 87 in a file operation
[ERROR] InnoDB: File \ib_logfile101: 'aio write! RETURN OS error 187
[ERROR] InnoDB: Cannot CONTINUE operation
- Lúc này bạn cần xóa toàn bộ file trong thư mục *C:\MySQL\data va thém dong sau vao file my.ini: innodb_ flush_method=normal
023| Page
Trang 244 PHPMYADMIN
phpMyAdmin la mot c6ng cu quan ly co so dữ liệu MySQL thông dụng và thuận tiện Cài đặt phpMy Admin giúp bạn dễ dàng thực hiện các thao tác quản lý cơ sở dữ liệu một cách trực quan
4.1 Cài Đặt Và Cầu Hình phpMyAdmin:
- Tai phpMyAdmin tr trang chinh thie (https://www.phpmyadmin.net/downloads/) va giải nén nó vào thư mục gốc của máy chủ web
- Sau khi tải thành công bộ phpMyAdmin-5.2 I-all-languages.zip chúng ta tiến hành giải nén nó vào thư mục C:\LApache24\htdocs
WN>› Thi:PC › LocalDsk(C) > Apache24 › htdocs ›
024| Page